gpt4 book ai didi

asp.net-mvc - MVC2 : Validating User Input/Best Practices

转载 作者:行者123 更新时间:2023-12-02 02:34:29 25 4
gpt4 key购买 nike

我正在尝试验证用户输入,尤其是用户密码。我有一些 jQuery 验证,但当然我还需要在服务器端进行验证。现在我的请求进入 Controller , Controller 会将其传递给 UserService。一切都是松散耦合的,因此 Controller 对内部 UserService 了解不多。现在假设用户输入了一个弱密码,所以我需要告诉他“嘿,这还不够。”

问题是:执行此操作的最佳方法是什么?

不知何故,我需要能够打电话

ModelState.AddModelError(field, exception);

为了指出出了什么问题、哪里出了问题以及为什么 - 在这个简单的例子中,我已经知道它是密码,因为它实际上是表单上唯一的字段,但通常这并不容易。现在我快要编写自己的 Exception 类型来做类似的事情了

ModelState.AddModelError(ex.Field, ex.Message);,我可能需要一些额外的映射 - 这是在 NerdDinner 中采用的基本路径,他们有 RuleViolations

但是,在 NerdDinner 中,业务对象是 self 验证的。在这种情况下,这似乎不是最好的方法,因为这里的“业务对象”实际上只是一个实现 IIdentity 的电子邮件和密码存储。它不应该知道任何关于密码长度的信息,并且应该可以在不同的应用程序中重复使用。

此外,ArgumentExceptionValidationException 似乎也不合适,因为前者是为违反契约(Contract)而制定的,后者将由 DataAnnotations.

当然,所有这些只是冰山一角,因为潜伏着太多的微妙之处。也许有人可以指出我正确的方向?

最佳答案

您可以使用 xVal .

关于asp.net-mvc - MVC2 : Validating User Input/Best Practices,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2413084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com