0

我已经实现了一个简单的 MVC3 应用程序,其中我使用了UnobtrusiveJavaScript 验证。我有一个下拉视图,我不想验证它。事件我没有在 ViewModel 中进行任何验证。

视图模型

public class TutorAddressViewModel
{

    public TutorAddressViewModel()
    {           
        AddressType = new List<SelectListItem>();
    }
    public List<SelectListItem> AddressType {get;set;}

    public byte TypeID { get; set; }

}

看法

<table style="background: none; " class="addressDetail">
    <tr>
        <td>
            @Html.DropDownListFor(m => m.TypeID,Model.AddressType  , new { @Style = "Width:150px;" })
        </td>
</tr>
</table>

此地址类型下拉列表我不想验证,当我在 web 配置中设置 UnobtrusiveJavaScriptEnabled此属性为 false 时,它​​工作正常意味着它不验证此控件,但是当我将其设置为 true 时,它​​不允许我在 AddressType 为时发布表单空的。

那么如何删除对特定控件的UnobtrusiveJava验证呢?

4

1 回答 1

0

在您的网络配置中设置UnobtrusiveJavaScriptfalse将全局禁用您的不显眼验证。

如果您正在使用,data annotations那么您可以决定您的验证流程,例如您要验证的属性。因为数据注释和不显眼的 js 验证以这种方式并行工作。

所以我对你的建议是使用数据注释结构来验证你的模态属性。

//do not put an attribute if you do not want to validate it!
public List<SelectListItem> AddressType {get;set;}

public byte TypeID { get; set; }

如果您不希望在某些属性上触发不显眼的验证,则不要像在您的情况下那样在其属性上使用数据注释属性。

于 2013-04-19T07:44:51.390 回答