[英]Model to Controller / View Error Message
我要說明是否可以將消息從模型發送到控制器。
所以我有一個模特
public class Car()
{
public int Id { get; set; }
public string Make { get; set; }
}
因此,當用戶添加新的Car時,可以使用Fluent API或[Required]批注將其設置為必需。
但是,如果我想確保那里只有某些字符怎么辦,那么我就不想在其中有百分比符號(除非那里有任何汽車?!)。
所以我想我將使用一個構造函數:
public class Car()
{
public Car(string _name)
{
if(this.Make.Contains("%"))
{
//Let the user know this isn't valid there is an error
}
}
public int Id { get; set; }
public string Make { get; set; }
}
我通常將錯誤邏輯放在Controller中。 所以我會
public ActionResult AddCar(Car car)
{
if(car.Make.Contains("%"))
{
//let user know this is not valid
}
if(ModelState.IsValid)
{
}
///
}
但是后來我想,我再也不想擁有帶有%符號的汽車了(我選擇了%符號,但實際上我會使用很多驗證方法,例如包含無效字符的列表) ,以及在允許用戶添加汽車的每個地方,我都會復制驗證碼,但效率低下。
也許在控制器中產生錯誤檢查是正確的方法?
再次為清楚起見。 問題是,有沒有一種方法可以將消息從模型傳遞到控制器,然后再傳遞給用戶視圖?
親切的問候
您不應該在控制器中使用驗證邏輯,我們有DataAnnotations
,它使我們可以驗證模型的屬性值。
出於您的目的,您可以為此使用RegularExpression
驗證程序。
請參閱此鏈接以獲取更多詳細信息
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.