【问题标题】:Remote Validation with MVC3使用 MVC3 进行远程验证
【发布时间】:2011-02-15 16:30:02
【问题描述】:

我刚刚阅读了 MSDN 上关于远程验证的 article。这很好,但它只显示验证特定的属性值。

有没有办法可以将模型中的其他值传递给特定属性的验证?例如,假设用户想要取消订单中的一些商品 - 应该阻止他们输入大于原始订单金额的数字。

谢谢

【问题讨论】:

    标签: asp.net-mvc-3


    【解决方案1】:

    不,你不能。

    布拉德·威尔逊:

    此时,只有属性级别 验证器可以发出客户端 验证(因为那排了很多 更好的输入理念 形式的验证 浏览器...没有“模型” 从浏览器的角度来说 查看)。

    斯图尔特韭菜:

    我不相信你可以勾搭客户 使用 IValidatableObject 进行验证

    【讨论】:

    • 也许我从错误的角度来处理这个问题。有没有更好的办法?
    • 我想你有一个文本框,用户应该在其中输入一个数字。如果您使用的是“数字”控件,请检查它是否支持 MaxValue。如果这是一个简单的输入,而不是自己渲染验证 javascript,那么您渲染页面并知道当前的项目数。
    • 感谢您的意见 Jakub。这将是一个文本框,因为值会有很大差异(从 1 到 10,000)。我希望避免涉及客户端验证的解决方案,并试图将所有这些逻辑保留在服务器上 - 这是查看 Remote 属性的原始意图,但我现在明白这不可能像我想。
    【解决方案2】:

    好吧,我不确定你是不是这个意思,但你可以将 AdditionalFields 与 RemoteValidation 属性一起使用。

    Remote Validation in ASP.Net MVC 3: How to use AdditionalFields in Action Method

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-07
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多