Доступ к деталям проверки в DotVVM - PullRequest
0 голосов
/ 05 октября 2019

Возможно ли в DotVVM (2.4.0 preview3, .Net Core 3.0) каким-либо образом управлять видимостью div на основе результата проверки? Причина в том, что я хочу отобразить предупреждение, которое включает ValidationSummary. У меня есть просто простая SignInViewModel со свойством Email и Password и .dothtml следующим образом:

<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/.

Что я пробовал:

  • Attached Validator.Value = "{value: _root}"(также пробовал _page, _this и другие) в div оповещения.
  • Реализован объект IValidatableObject на виртуальной машине, но он даже не запускает проверку электронной почты или обязательные проверки.
  • Принудительное добавление DotVVM "имеет-ошибка "к форме, когда какое-либо свойство недопустимо.
  • Перенос электронной почты и пароля для разделения виртуальной машины и включение этого свойства. Затем установите Validation.Target в div и форме оповещения.

Ничто из вышеперечисленного не помогло мне. Есть ли скрытое свойство IsValid, которое я могу связать с атрибутом Visible? Или я могу получить доступ к сообщениям проверки где-нибудь в ВМ и управлять видимостью с помощью пользовательских свойств? Я имею в виду переопределение чего-то вроде метода «OnValidationExecuted» в ВМ.

Я знаю, что эту проблему можно как-то решить (css, javascript, ..), но я думаю, что это то, что должно контролироваться просто с помощью DotVVM.

Спасибо

...