Java 在MVC中,可以在视图中存储正则表达式模式并进行验证检查吗?
我将我的正则表达式模式存储为:Java 在MVC中,可以在视图中存储正则表达式模式并进行验证检查吗?,java,model-view-controller,Java,Model View Controller,我将我的正则表达式模式存储为: private final Pattern regex1... private final Pattern regex2... 就像我眼中的田野。我在视图类中有一个验证检查方法,当验证失败时,它会向控制器抛出一个异常。这在MVC中是否有效 public void validation() throws Exception{ if(regex failed){ throw new exception("..."); } .
private final Pattern regex1...
private final Pattern regex2...
就像我眼中的田野。我在视图类中有一个验证检查方法,当验证失败时,它会向控制器抛出一个异常。这在MVC中是否有效
public void validation() throws Exception{
if(regex failed){
throw new exception("...");
}
...
}
如果你的决定背后有一个很好的理由的话,那么如何分割代码总是取决于你自己 但是,我更愿意将验证方法至少放入控制器中,因为它看起来像是由按钮的actionevent触发的。(事件应在控制器中处理) 您可以做的是在视图中创建一个methode,如果验证失败,它会在gui中显示一条错误消息
所有这些都意味着正则表达式也保存在控制器中。这不是一个好的做法。逻辑必须转移到专用的分层结构中。 最好的方法是创建专用的验证器类或创建服务的验证方法(如果在验证过程中必须执行某些操作,如在DB中搜索)。这样,单元测试就可以很好地覆盖验证器类 @自动连线 UserInputValidator UserInputValidator public void validation()引发异常{
if(userInputValidator.validate(param1, param2)){
throw new exception("...");
}
...
}/P>< P>当我们讨论MVC时,最好考虑到随着应用程序的发展,“输入”最终可能来自多个地方。p>
- 使用者
- 服务电话
- 文件
- 其他
- 为bean添加注释
- 创建自定义验证注释(抽象定义的正则表达式)和/或使用提供
- 专门服务