我要创建两个视图,一个视图要进行所有属性验证,而第二个视图我要进行一些属性验证。 如何为其他视图禁用验证?
public partial class Car_Property
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public Car_Property()
{
this.Cars = new HashSet<Car>();
}
public long ID { get; set; }
[Required]
public Nullable<long> Model { get; set; }
[Required]
public Nullable<int> Years { get; set; }
[Required]
public string Remark { get; set; }
public virtual Model Model1 { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
public virtual ICollection<Car> Cars { get; set; }
}
第一个视图我要进行所有验证,但仅第二个视图年份验证 其他忽略。
答案 0 :(得分:-1)
您可以使用IsValidField方法仅检查Years字段,如下所示:
<library>
<name>The XML Institute Public Library</name>
<endowment>
<donor>IBM</donor>
<book isbn="0764547607">
<title>The XML Bible, 2nd Edition</title>
</book>
<book isbn="0321150406">
<title>Effective XML</title>
</book>
</endowment>
<endowment>
<donor>W3C</donor>
<book isbn="1861005946">
<title>Beginning XSLT</title>
</book>
</endowment>
如果您需要验证更多字段,只需使用和运算符,如下所示:
if (ModelState.IsValidField("Years"))
{
//do something...
}
要验证属性列表并忽略其他属性,可以在Action方法中执行以下操作:
if (ModelState.IsValidField("Years") && ModelState.IsValidField("Remark"))
{
//do something...
}