В моей модели в моем приложении asp.net mvc я использовал атрибуты RequiredIf.требуется, если не работает с проверкой на стороне клиента
Модель
[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; }
Посмотреть
@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>
Я посылаю форму на сервер через Ajax пост, а вот моя функция;
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) {
}
});
}
}
Ну с этой структурой, я обрабатывать проверки на стороне сервера совершенен, однако на стороне клиента - validator.validate()
раздел, это только подтвердить ввод с необходимыми атрибутами.
Должен ли я писать дополнительный код для проверки на стороне клиента этих необходимых входов или есть ли какие-либо другие способы обработки этого со стороны бритвы или стороны js?