是否可以在模型中使用[Required]属性,但不能在控制器中使用

时间:2012-06-27 10:25:11

标签: c# asp.net asp.net-mvc

是否可以在模型中使用[必需]属性,但不能在控制器中使用。

例如,我想使用我将设置多个参数的对象,对于此对象的类,我想设置属性[必需]。

是否可以使用ModelState.IsValid之类的逻辑或类似的东西。

以下是代码示例: EmployeeModel employee = this.ToObject(employeeXml);

员工模型具有属性名称。此属性是必需的。如何验证?

此致,谢尔盖。

2 个答案:

答案 0 :(得分:1)

您可以使用TryUpdateModel方法根据模型验证规则更新ModelState:

public BranchWizardStep GetNextStep(FormCollection formCollection)
{
    TryUpdateModel(_someModel);

    if (ModelState.IsValid) 
    {
        //...
    }
}

修改: 但最好使用仅验证模型的TryValidateModel方法。

答案 1 :(得分:0)

在模型using System.ComponentModel.DataAnnotations;

中添加此内容

然后在yr属性添加

之上
[Required(ErrorMessage = "This is required")]
[StringLength(100)]

如果您还想要显示名称,请添加using System.ComponentModel;

并在yr属性

上面添加
[DisplayName("Login name")]