CAD*_*CAD 5 .net c# validation mvp winforms
我想在处理之前验证用户提供的详细信息。我的用户界面有文本框,主要是组合。在某些字段中,用户必须提供数据,在某些字段中,可能只接受某些类型的数据,如文本、日期/时间、数字等。当涉及到日期/时间时,我们应该检查提供的值是否在有效范围内.
我的问题是
一季度。在 MVP 模式中在哪里进行验证?
我的选择是
Q2。如何进行验证。
我的选择是
一世。View中的文本框之类的所有控制器都封装在属性中(Getters / Setters)
public string Age
{
get { return txtAge.Text; }
set { txtAge.Text = value; }
}
Run Code Online (Sandbox Code Playgroud)
ii. UI 触发事件 Validate(sender, e)
三、Presenter 监听并将其连接到处理程序,然后调用 Validate() 方法
四、在 Validate() 方法中,它将检测控制器引发的事件(发送者)并读取相应的属性以获取控制器中的值。
v. 然后它会根据模型中的类型检查类型并决定有效性,然后提醒用户
这里的问题是我可能必须通过字符串属性公开所有控制器,否则当用户输入无效类型时它会给出异常。
如果我做这样的事情
public int Age
{
get { return Convert.ToInt32(txtAge.Text); }
set { txtAge.Text = Convert.ToString(value); }
}
Run Code Online (Sandbox Code Playgroud)
那么问题是演示者无法进行验证,因为它已经转换为 int?