开发者

jQuery validate required method and textboxes with 0

I've got a form with two sections. Each section expands by its own radio button, so there's only one visible section at a time. And I use ASP.NET MVC HtmlHelper to generate fields like so:

<label for="type-permanent" class="radio active">
    <input type="radio" name="Type" value="Type1" id="type1" /> Label1
</label>
<%= Html.TextBox("Field1", Model.IntProperty1) %>
<label for="type-permanent" class="radio active">
    <input type="radio" name="Type" value="Type2" id="type2" /> Label2
</label>
<%= Html.TextBox("Field2", Model.IntProperty2) %>

I also have two functions so that I could determine, which section is active:

function isType1() { return $("#type1").attr("checked"); }
function isType2() { return $("#type2").attr("checked"); }

Finally, I've got the followind validation methods set up:

Field1: {
    required: isType1,
    min: 1
},
Field2: {
    required: isType2,
    min: 1
}

Now, the point is that if I pass empty model to the view, both fields are set to 0 (default for int). Now if the user fills some fields and tries to submit the form, there is validation error, because even though the field in other section is not required, but it has the value - 0, which is not correct since it must be more that 1. How can I overcome this except clearing fields in hidden sections before form submis开发者_运维百科sion?

UPDATE. I guess I need some kind of conditional validation method.


If you can build it in, the required method takes a callback, so maybe you can build in the zero null check into the required validator via: http://docs.jquery.com/Plugins/Validation/Methods/required#dependency-callback

HTH.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜