如何在mvc中将IsRequired字段设为false?

时间:2013-08-27 08:42:19

标签: jquery asp.net-mvc asp.net-mvc-4 razor

我在mvc中有一个项目。

我有员工模型文件,这是一个dll文件代码

定义了我的表单的所有字段,我想更改 [DataMember(IsRequired = false)]

LName field
  

但是由于我在dll方面有模型文件,我无法在.cs文件中更改它

还有其他方法吗?

<。pc中的代码

[DataMember(IsRequired = true)]
[Display(Name = "Lname")]
[Metadata(MetadataId = "142C8DF5-0546-4C4A-A935-CA39D5AF0E2F", Order = 10, IsSearchable = true, IsVisible = true, IsReadonly = false, IsNullable = false, HasDefaultValue = false, DefaultValue = "")]
[Required(ErrorMessage = "Please enter Last Name")]
public double LName { get; set; }

.cshtml中的代码

<tr>
<td valign="top" class="nd_nor_ftd">Last Name
<span class="mand">*</span>
</td>
<td>
@Html.TextBoxFor(t => t.LName, new { @class = "smallTxtEntry" })
</tr>
  

简单来说,我想将Isrequired字段改为false,这是真的吗?   或者它不应该为此字段提供任何验证错误   帮助我

2 个答案:

答案 0 :(得分:1)

@ {Html.EnableClientValidation(false); }     @ Html.TextBoxFor(m =&gt; m.Lname,new {@class =“k-textbox”})     @ {Html.EnableClientValidation(true); }

答案 1 :(得分:0)

如果Employee类未标记为已密封,则可以从中派生并隐藏原始类的LName属性。

public class MyEmployee : Employee
{
    [DataMember(IsRequired = false)]
    [Display(Name = "Lname")]
    [Metadata(MetadataId = "142C8DF5-0546-4C4A-A935-CA39D5AF0E2F", Order = 10, IsSearchable = true, IsVisible = true, IsReadonly = false, IsNullable = false, HasDefaultValue = false, DefaultValue = "")]
    [Required(ErrorMessage = "Please enter Last Name")]
    public new double LName { get; set; }
}