模型到控制器/查看错误消息
本文关键字:错误 消息 控制器 模型 | 更新日期: 2023-09-27 17:56:46
我想检查是否可以将消息从模型发送到控制器,我会解释一下。
所以我有一个模型
public class Car()
{
public int Id { get; set; }
public string Make { get; set; }
}
因此,当用户添加新汽车时,我可以使用 Fluent API 或 [必需] 注释将其设置为必需。
但是,如果我想确保我只有某些字符,所以我不希望在那里使用百分比符号(除非那里有任何汽车?!
所以我想我会使用一个构造函数:
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; }
}
我通常将错误逻辑放在控制器中。所以我会有
public ActionResult AddCar(Car car)
{
if(car.Make.Contains("%"))
{
//let user know this is not valid
}
if(ModelState.IsValid)
{
}
///
}
但后来我想,我永远不会想拥有一辆带有 % 符号的汽车 Make(我选择了 % 符号,但实际上我会使用大量验证,例如包含无效字符的列表),并且我允许用户添加汽车的每个地方,我都会复制验证代码, 只是感觉效率低下。
也许在控制器中产生错误检查是正确的方法?
再次为了清楚起见。问题是,有没有办法将消息从模型传递到控制器,然后我可以将其传递给用户的视图?
亲切问候
您不应该在控制器中使用验证逻辑,我们有DataAnnotations
允许我们验证模型的属性值。
出于您的目的,您可以使用RegularExpression
验证器。
有关更多详细信息,请参阅此链接