Html.ValidationMessageFor in partial view(ASP.NET MVC3) -
currently have partial view textbox , validationmessagefor. works fine , message displays expected when input not valid. i'm doing little html refactoring , want bump validationmessagefor view contains partial view. have working correctly there couple of snags.
@html.validationmessagefor(m => m.mileage, string.empty, new { id = "spanmileageerror", @class = "mileageerrorspanclass" })
the model view vehicle object. model partialview different object
@html.textboxfor(v => v.vehicle.mileage, new { placeholder = mileageplaceholdertext, id = model.textboxid, maxlength = "7", @class="mileagetextboxclass" })
this configuration gives name textbox ("vehicle.mileage") validation attribute ("data-valmsg-for") equal "mileage" , not "vehicle.mileage".
how can correct validationmessagefor helper emit correct html make validation work?
here rendered html of current view prior html refactor
<input type="text" value="" placeholder="enter mileage" name="vehicle.mileage" maxlength="7" id="textboxmileage" data-val-range-min="1" data-val-range-max="999999" data- val-range="mileage must valid number between 1 , 999,999." data-val-number="the field mileage must number." data-val="true" class="mileagetextboxclass input- validation-error" autocomplete="off"> <span id="spanmileageerror" data-valmsg-replace="true" data-valmsg-for="vehicle.mileage" class="mileageerrorspanclass field-validation-error"><span htmlfor="textboxmileage" generated="true" class="">mileage must valid number between 1 , 999,999.</span></span>
and here html after refactor
<input type="text" value="" placeholder="enter mileage" name="vehicle.mileage" maxlength="7" id="textboxmileage" data-val-range-min="1" data-val-range-max="999999" data-val-range="mileage must valid number between 1 , 999,999." data-val-number="the field mileage must number." data-val="true" class="mileagetextboxclass placeholder" autocomplete="off"> <span id="spanmileageerror" data-valmsg-replace="true" data-valmsg-for="mileage" class="field-validation-valid mileageerrorspanclass"></span>
notice span missing inner span element used present. can me correct problem here?
thanks tips , tricks or possible solutions. cheers,
~ck in san diego
you use html.textbox() instead
@html.textbox("mileage", model.vehicle.mileage, new { placeholder = mileageplaceholdertext, id = model.textboxid, maxlength = "7", @class="mileagetextboxclass" })
Comments
Post a Comment