MVC验证数据

时间:2012-12-28 14:39:23

标签: java model-view-controller

我想在Swing的新项目中使用MVC。

但我有一些问题。

在我的MainView我有一个输入表单和一个提交按钮。 当我点击提交时,我的MainController.setUrl(Value)被调用。 然后我必须验证数据。 我必须在MainController验证此数据的位置?在我的MainModel? 或者在我的MainController中,我调用MainModel.isValidUrl(Value)等方法?

如果数据错误,我想向用户显示一个对话框。那么如何在视图中调用方法来显示此框?

1 个答案:

答案 0 :(得分:1)

您应该在MainModel.isValid中拨打MainController,然后显示对话框或保留表单(根据是否有效)。 MainModel应该负责自己的验证。

当您从Controller实例化View时,只需将View的实例传递给您的Controller

伪代码将是这样的:

...
// In your view 
private void initTabPane(){
    AbstractModel socialModel = new SocialModel();

    // Pass the View
    AbstractController socialController = new MainController(socialModel, this); 
    ...
}


// In your controller
private AbstractView view;

public MainController(AbstractModel model, AbstracView view) {   
     ...
     this.view = view;
}

public Validate() {
    if (!model.isValid) {
        view.showError();
    }
    else {
        // do your stuff with the valid model 
    }
}