我有一个用于用户注册的Presenter,我需要在其上实现验证错误,我所做的是为每个验证错误创建了一个方法,例如UserCannotBeEmpty()
,InvalidEmailAddress()
,UserAlreadyExists()
等......
只有几个字段可以,但如果我有很多字段,它看起来不太好,我必须为此创建很多方法......
最好的办法是什么?
谢谢!
答案 0 :(得分:1)
更多字段有什么问题 - 更多验证?如果要检查20个不同的字段,并且每个字段都需要不同类型的验证,您必须实施许多方法。
当然,有一些常见的方法可以帮助你。您可能不需要UserCannotBeEmpty
和PasswordCannotBeEmpty
方法。很可能你对CannotBeEmpty(string errorMessage)
没问题。重构常见的东西(空检查,字母数字检查,日期时间/数字解析等等 - 依赖于类型),并仅在需要时实现特定于字段的验证。
请注意,特定于域的验证(您的业务规则,例如“生产日期之前不能发货”)应在模型端进行验证。