Я использую xval, чтобы использовать проверку на стороне клиента в моем веб-приложении asp.net mvc2. Несмотря на ошибки, которые он дает при вводе текста в числовое поле, он по-прежнему пытается отправить форму в базу данных. Неверные значения заменяются на 0 и сохраняются в базе данных. Но вместо этого не стоит пытаться представить форму. Может кто-нибудь помочь мне здесь?C# mvc2 проверка на стороне клиента с помощью xval, предотвратить сообщение
Я установил атрибуты, как показано ниже:
[Property]
[ShowColumnInCrud(true, label = "FromPriceInCents")]
[Required]
//[Range(1, Int32.MaxValue)]
public virtual Int32 FromPriceInCents{ get; set; }
Контроллер ловли запрос выглядит, как показано ниже; Я не получаю ошибок в этой части.
[AcceptVerbs(HttpVerbs.Post)]
[Transaction]
[ValidateInput(false)]
public override ActionResult Create()
{
//some foo happens
}
Мой взгляд выглядит, как показано ниже:
<div class="label"><label for="Price">FromPrice</label></div>
<div class="field">
<%= Html.TextBox("FromPriceInCents")%>
<%= Html.ValidationMessage("product.FromPriceInCents")%></div>
И в конце представления у меня есть следующее правило, которое в HTML код генерирует правильные правила проверки
<%= Html.ClientSideValidation<Product>("Product") %>
Я надеюсь, кто-то может помочь мне с этой проблемой, спасибо заранее!
EDIT: 19 апреля Я только что узнал, что есть обычная кнопка с использованием вместо типа ввода = «Кнопка». Может ли это быть проблемой?
<button class="save" type="submit" name="save"><span>Opslaan</span></button>
Почему ваш ValidationMessage ("product.FromPriceInCents"), но ваше текстовое поле использует "FromPriceInCents"? Это кажется подозрительным. Есть ли причина, по которой вы не используете сильно типизированных помощников? ValidationMessageFor (x => x.FromPriceInCents) – Jab
Я изменил текстовые поля и validationmessages на строго типизированные помощники. Но это изменение не влияет на валидацию, тем не менее хороший отзыв! – Rob