1
我在MVC.I've一個結點模型:ASP.NET MVC ModelState IsValid - 如何從驗證中排除特定屬性?
public class Usuarios
{
[Required(ErrorMessage = "**TxtOPID is required")]
public string TxtOpID
{
get { return this.txt_opId; }
set { this.txt_opId = value; }
}
[Required(ErrorMessage="**Password is required")]
public string TxtPassword
{
get { return this.txt_password; }
set { this.txt_password = value; }
}
[Required(ErrorMessage="**Email is required")]
[RegularExpression("^[a-z0-9_\\+-]+(\\.[a-z0-9_\\+-]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*\\.([a-z]{2,4})$",ErrorMessage="**Invalid email")]
public string TxtEmail
{
get { return this.txt_email; }
set { this.txt_email = value; }
}
}
這是DataAnnotations,當我嘗試檢查,如果所有屬性都與ModelState.IsValid propertie有效工作正常。
問題是當我不想檢查所有properties.i.e: 如果我只想檢查TxtOPID和TxtSenha屬性,就像在登錄表單中一樣,只需要OPID和密碼。
如何在控制器中的特定操作中排除電子郵件屬性驗證?
我想:
public ActionResult SignIn([Bind(Exclude="TxtEmail")]Usuarios usuario)
{
[...]
}
但它不工作,它是無效的原因,TxtEmail不需要特定形式。
任何意識?
但是,那些類會重複它們的屬性? – ozsenegal 2010-10-27 19:54:12
是的,他們可以......例如。你可以在3個不同的地方使用「電子郵件」。一個用於聯繫表單,一個用於登錄表單,一個用於gravatar。您將製作3個模型(登錄,電子郵件,gravatar)並驗證每個模型的電子郵件屬性。 – 2010-10-27 19:55:39
他們可以,但這不是在OOP – ozsenegal 2010-10-27 19:57:01