Quantcast
Channel: xval Discussions Rss Feed
Viewing all articles
Browse latest Browse all 21

New Post: xVal and list inputs

$
0
0

When you have something like this:

 

<% for (var i = 0; i < 10; i++ ) { %><tr><td><%= Html.LabelFor(m => m.DomainTraining[i].Hours) %><%= Html.CustomTextBoxFor(m => m.DomainTraining[i].Hours, new { style = "width:50px;" })%><%= Html.ValidationMessageFor(m => m.DomainTraining[i].Hours)%></td><td><%= Html.LabelFor(m => m.DomainTraining[i].Description) %><%= Html.CustomTextBoxFor(m => m.DomainTraining[i].Description) %><%= Html.ValidationMessageFor(m => m.DomainTraining[i].Description)%></td><td><%= Html.LabelFor(m => m.DomainTraining[i].CompleteDate) %><%= Html.CustomTextBoxFor(m => m.DomainTraining[i].CompleteDate, new { style = "width:150px;" })%><%= Html.ValidationMessageFor(m => m.DomainTraining[i].CompleteDate)%><%= Html.ClientSideValidation<DomainTraining>("DomainTraining[" + i + "]") %></td></tr><% } %>

 

And you want to attach a client side validation thing to each one (As I tried to do above) it doesn't attach the validator correctly (MVC2). I don't know if this is because of a change in MVC2 or not, but the client side ID of these items would be DomainTraining_x__Hours, etc. xVal attempts to attach it to DomainTraining[x]_Hours, which while that makes sense, is incorrect. The fix would be one line 53 of the library:

 

return fullyQualifiedModelName.replace(/[\.\[\]]/g, "_");

All I did was add the brackets to the RegEx to be replaced by the "_" character. Validators now attach correctly. If there was a reason for this, please advise.

/ Michael /

 


Viewing all articles
Browse latest Browse all 21

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>