我正在使用xval在我的asp.net mvc2 Web应用程序中使用客户端验证。尽管我在数字字段中输入文本时出现错误,但仍会尝试将表单发布到数据库中。不正确的值将替换为0并保存到数据库。但是相反,甚至不可能尝试提交表单。有谁可以帮我离开这里吗?

我将属性设置如下:

[Property]
[ShowColumnInCrud(true, label = "FromPriceInCents")]
[Required]
//[Range(1, Int32.MaxValue)]
public virtual Int32 FromPriceInCents{ get; set; }

捕获请求的 Controller 如下所示;我在这部分没有任何错误。
[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>

在 View 的最后,我有以下规则,该规则在html代码中生成正确的验证规则
<%= Html.ClientSideValidation<Product>("Product") %>

我希望有人可以帮助我解决这个问题,谢谢!

编辑:4月19日
我刚刚发现,使用的是普通按钮,而不是输入type =“Button”,这可能是问题吗?
<button class="save" type="submit" name="save"><span>Opslaan</span></button>

最佳答案

也许这可以帮助:

How to use the jQuery Validation plugin with metadata, jQuery Forms and xVal together?

07-28 02:53
查看更多