访问DotVVM中的验证详细信息

时间:2019-10-05 17:47:07

标签: dotvvm

在DotVVM(2.4.0 Preview3,.Net Core 3.0)中,是否可以基于验证结果以某种方式控制div的可见性?原因是我要显示警报,其中包括ValidationSummary。我只有带有电子邮件和密码属性以及.dothtml的简单SignInViewModel,如下所示:

<form>
    <div class="alert alert-danger">
        <dot:ValidationSummary/>
    </div>

    <dot:TextBox Text="{value: Email}" Type="Email" placeholder="Enter email"></dot:TextBox>
    <dot:TextBox Text="{value: Password}" Type="Password" placeholder="Password"></dot:TextBox>
</form>

问题是,即使Bootstrap 4警报为空,它仍然可见。这是jsfiddle加载表单-https://jsfiddle.net/hye0mgaf/时的样子。

我尝试过的事情:

  • 将Validator.Value =“ {value:_root}”(还尝试了_page,_this和其他)附加到警报div。
  • 在VM上实现了IValidatableObject,但这甚至不会触发电子邮件或必填验证。
  • 当任何属性无效时,强制DotVVM在表单中添加“有错误”。
  • 将电子邮件和密码包装起来以分隔VM,并将其作为属性包括在内。然后在警报div和表单上设置Validation.Target。

没有什么可以帮助我。是否有一些隐藏的“ IsValid”属性可以绑定到Visible属性?或者,我可以访问VM中某处的验证消息并通过自定义属性控制可见性吗?我的意思是在VM中覆盖诸如“ OnValidationExecuted”方法之类的东西。

我知道可以以某种方式(css,javascript,..)解决此问题,但是我认为这应该使用DotVVM进行控制。

谢谢

0 个答案:

没有答案