En el desarrollo de MVC, la validación del modelo es muy común, debemos usar son todos la verificación habitual de
if(ModelState.IsValid)
{
//验证成功要做的事
.....
}
Pero a veces tenemos que verificar la pieza, como la modificación de la información del usuario como usuario de actualización, no toda la información de actualización a los usuarios, por lo que cuando el modelo es incompleto, y ciertamente no será verificada.
Aquí, una clase del modelo, como un ejemplo
public class User
{
[Required]
public int ID { get; set; }
[Required]
[StringLength(18,MinimumLength = 2,ErrorMessage = "名称字符长度在2-18之间")]
public string Name { get; set; }
[Required]
[Range(0,100,ErrorMessage = "年龄在0-100")]
public int Age { get; set; }
}
Caso 1: El término no valida relativamente pequeña
Podemos utilizar el Remove
método
//不验证年龄项
ModelState.Remove("Age");
Caso 2: do relativamente pequeña para verificar artículos
Por desgracia, veo el MSDN no parece encontrar el método de esta función (si lo encuentra, por favor deje un área de mensajes de comentarios = =)
Así que ahora escribir un método de extensión para lograr esta función
/// <summary>
/// 验证实体模型中的部分属性
/// </summary>
/// <param name="ModelState"></param>
/// <param name="keys">要验证的属性List集合</param>
/// <returns></returns>
public static bool IsPartValid(this ModelStateDictionary ModelState,List<string> keys)
{
//遍历要验证部分属性
foreach (var item in keys)
{
//尝试获取对应键的值
//有不符合的模型属性 - Errors错误集合大于0
if (ModelState.TryGetValue(item,out ModelState modelState) && modelState.Errors.Count > 0)
return false;
}
return true;
}
A continuación, se utiliza directamente, a querer comprobar en una colección
//验证模型中的部分属性
if (ModelState.IsPartValid(new List<string> { "Name", "Age" }))
{
//验证通过,要做的事
......
}