Как использовать проверку на стороне сервера с помощью angular js
// В моем домашнем контроллере
[HttpGet]
public JsonResult IsUserNameExist(строковое имя)
{
использование (CobraDBEntities db = новые CobraDBEntities())
{
ВАР проверить = !дБ.Человек.Любой(x => x.Name = = имя);/ / если мы используем Person per, то per.Name, и так далее, но мы используем строковое имя так, чтобы
return Json(check, JsonRequestBehavior.AllowGet);
}
}
// Аннотация Обязательное Поле Валидаторов
public class PersonMD { public int Id { get; set; } [Required] // using json look in home controller [Remote("IsUserNameExist", "Home",ErrorMessage =" Username Already Exist Use Another one")] public string Name { get; set; } [Required] public string Address1 { get; set; } [Required] public string Address2 { get; set; } [Required] public string Town_City { get; set; } }
Без использования Angularjs это работает нормально
Если я использую angularjs, то
IsUserNameExistне работает
Что я уже пробовал:
// в индекс.cshtml по
<div class="modal-body"> <form name="form1"> <table class="table"> <tr> <td>Name</td> <td> <input type="text" ng-model="Name" name="name" ng-minlength="3" ng-maxlength="20" required /> @*<span color="alert-danger" class="help-block" ng-show="form1.name.$invalid">Required </span>*@ <span color="red" class="label label-info" ng-show="form1.name.$error.minlength">Too short </span> <span color="alert-danger" class="label label-info" ng-show="form1.name.$error.maxlength">Too long </span> </td> <tr> <td>Address1</td> <td> <input type="text" ng-model="Address1" name="Add1" ng-minlength="3" ng-maxlength="100" required /> <span color="alert-danger" class="label label-info" ng-show="form1.Add1.$error.minlength">Too short </span> <span color="alert-danger" class="label label-info" ng-show="form1.Add1.$error.maxlength">Too long </span> </td> </tr> <tr> <td>Address2</td> <td> <input type="text" ng-model="Address2" name="Add2" ng-minlength="3" ng-maxlength="100" required /> <span color="alert-danger" class="label label-info" ng-show="form1.Add2.$error.minlength">Too short </span> <span color="alert-danger" class="label label-info" ng-show="form1.Add2.$error.maxlength">Too long </span> </td> </tr> <tr> <td>[Town/City]</td> <td> <input type="text" ng-model="Town_City" name="town" ng-minlength="3" ng-maxlength="20" required /> <span color="alert-danger" class="label label-info" ng-show="form1.town.$error.minlength">Too short </span> <span color="alert-danger" class="label label-info" ng-show="form1.town.$error.maxlength">Too long </span> </td> </tr> <tr> <td> <input type="button" class="btn btn-default" value="Save" ng-disabled="form1.$invalid" data-dismiss="modal" ng-click="AddUpdatePerson()" /> <input type="button" class="btn btn-danger" value="Cancel" data-dismiss="modal" ng-click="Cancel()" /> </td> </tr> </table> </form> </div>
Nathan Minier
Это выглядит так, как будто вы пытаетесь выполнить проверку на стороне клиента с помощью правил из класса модели, а не на стороне сервера, не так ли?
Member 12999575
Я хочу сделать обе ,
клиентская сторона работает нормально,но не серверная.
Моя главная цель-предотвратить дублирование emailid или имени пользователя ?
Когда я набираю на стороне клиента форму, она должна появляться как можно быстрее ? до использования Angularjs я делал это с помощью Json, который работал нормально, но после использования Angularjs это больше не работало?