使用 xval 的 C# mvc2 客户端表单验证,防止发布

标签 c# javascript asp.net-mvc validation xval

我正在使用 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
}

我的 View 如下所示:

<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 日 我刚刚发现使用了一个普通按钮而不是输入类型 =“按钮” 这可能是问题所在吗?

<button class="save" type="submit" name="save"><span>Opslaan</span></button>

最佳答案

关于使用 xval 的 C# mvc2 客户端表单验证,防止发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2652658/

相关文章:

javascript - THREE.STLLoader 不是构造函数

asp.net-mvc - IList<> 返回类型而不是 List<>

jquery - 通过 json 将 fullcalendar 事件传递到 Controller

C# Entity Framework 4 Common Language Runtime 检测到无效程序错误?

c# - 如何匹配%19这样的字符?

c# mongoDb 2.0 字典中不存在

C# 删除分隔符之前/之后的字符串

javascript - ASP.NET C# 后端,用户是从 JavaScript 确认框中按了确定还是取消?

javascript - 电话号码的自定义掩码

javascript - 在react redux中一步步dispatch,对吗?