Bei meinem Modell in meiner asp.net mvc app, ich verwendete RequiredIf Attribute.erforderlich, wenn auf Client-Seite Validierung nicht funktioniert
Modell
[RequiredIf("CustomerType== 'B'", ErrorMessage = "Please enter customer name")]
[Display(Name = "Customer Name")]
[DataMember(Name = "CustomerName")]
public String CustomerName{ get; set; }
[Required(ErrorMessage = "Please select customer type")]
[Display(Name = "Customer Type")]
[DataMember(Name = "CustomerType")]
public String CustomerType { get; set; }
Ansicht
@using (Html.BeginForm(null,null,FormMethod.Post,new { @class ="transactionForm" })){
<td>@Html.LabelFor(model => model.CustomerName, htmlAttributes: new { @class = "control-label col-md-2" })</td>
<td>@(Html.Kendo().TextBox()
.Name("MusteriAd")
.HtmlAttributes(new { style = "width: 250px; height: 32px;" }))
@Html.ValidationMessageFor(model => model.CustomerName, "", new { @class = "text-danger" })
</td>
ich das Formular an den Server über Ajax Post schicke, und hier meine Funktion;
function SaveRecord(action, controller, param) {
$('.error').remove();
var form = $(".transactionForm");
var validator = form.kendoValidator().data("kendoValidator");
if (validator.validate()) {
var data = form.serialize();
$.ajax({
url: '/' + controller + '/' + action,
dataType: 'json',
type: 'POST',
data: data,
success: function (response) {
if (response !== null && !response.success) {
DisplayErrors(response.error);
}
else {
}
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
}
}
gut mit dieser Struktur, Griff i-Server-seitige Validierung perfekt, aber auf Client-Seite - validator.validate()
Abschnitt, nur die Eingabe mit erforderlichen Attributen validieren.
Sollte ich zusätzlichen Code für die clientseitige Validierung dieser erforderlichen Eingaben schreiben oder gibt es andere Möglichkeiten, dies auf der Seite des Rasierers oder js Seite zu behandeln?