В настоящее время у меня проверка поля работает, как и ожидалось, используя DataAnnotations , когда пользователь нажимает Создать учетную запись кнопка
Итак, что мне нужно сделать, это передать поля, которые не были выполнены при щелчке пользователя Создать учетную запись кнопку Validation Fields
в проверить функцию ниже.
Таким образом, если какие-либо поля (Имя пользователя, Имя) не прошли проверку (т. Е. Имя пользователя или Имя), функция проверки заменит Validation Fields
на любое поле с ошибкой. Например, если проверка не удалась для имени пользователя. поэтому «Поля проверки»: имя пользователя. Если оба поля не пройдены, тогда «Поля проверки»: Имя пользователя, Пароль.
Account.cs
[Required("Username is required")]
[StringLength(9, ErrorMessage="Must be under 9 characters")]
public string Username {get; set;}
[Required("Firstname is required")]
[StringLength(20, ErrorMessage="Must be under 20 characters")]
public string Firstname {get; set;}
Account.cshtml
@using (Html.BeginForm("Register", "Account", FormMethod.Post, new { @id = "form-main" }))
@Html.ValidationSummary(true, "", new { @class = "styled" })
<div class="form-group">
@Html.LabelFor(model => model.Username)
@Html.TextBoxFor(model => model.Username, new { @class = "form-control", @placeholder = "Please enter here" })
@Html.ValidationMessageFor(model => model.Username, "", new { @class = "styled" })
</div>
<div class="form-group">
@Html.LabelFor(model => model.FirstName)
@Html.TextBoxFor(model => model.FirstName, new { @class = "form-control", @placeholder = "Please enter here" })
@Html.ValidationMessageFor(model => model.FirstName, "", new { @class = "styled" })
</div>
<button id="btnCreateAccount" type="submit" onclick="onCreateAccount()">Create Account</button>
}
@section Scripts {
<script type="text/javascript">
function Validate() {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
'event': 'Submit',
'Status': 'Fail',
'Label': 'Account Register form',
'Validation Fields': 'failed field validation'
});
}
function onCreateAccount()
{
Validate()
}
</script>
}
Так как же достичь сценария, описанного выше, где я могу получить поля, которые не проходят проверку, а затем передать их в 'Поле проверки' в Проверка функция?