Как запретить отправку aui-формы, когда требуемый aui поданный валидатор пуст

У меня есть форма и обязательное поле, как показано ниже. Я добавил валидатор поля aui для предотвращения отправки формы, если обязательное поле пустое. Но это не работает. Кто-нибудь, пожалуйста, помогите мне.

<aui:form id="fm" name="fm" method="post" action="<%= someURL %>">
    <aui:input id="txtArea" label="value" name="preferences--txtArea--" type="textarea" style="width:330px;height:65px;" > 
        <aui:validator name="required" />
    </aui:input>
    <aui:input name="termsAndCondition" id="termsAndCondition" type="checkbox" label="termsAndConditons"/> <br>
    <aui:button type="button" value="save" onClick="showDialog()" />
</aui:form>

<aui:script>
function showDialog()
{
    var termsAndCondition= A.one('#<portlet:namespace/>termsAndCondition').attr('value');
    var r=confirm("Are you sure to change data?");
    if (r==true && termsAndCondition=="true")
    {
        A.one('#<portlet:namespace/>fm').submit();
    }
}
</aui:script>

2 ответа

Решение

Я нашел ошибку в своем коде.. Я использовал button type = "button", как вы можете видеть

 <aui:button type="button" value="save" onClick="showDialog()" />

но для использования валидатора поля aui работа в соответствии с требованием, чтобы предотвратить отправку формы, когда обязательное поле пусто. используйте кнопку type="submit". так исправленная строка

<aui:button type="submit" value="save" onClick="showDialog()" />

Теперь работает нормально:):)

Попробуйте с этим подходом

<aui:form id="fm" name="fm" method="post" action="<%= someURL %>" onSubmit="check();>


<script type="text/javascript">

  function check()
  {
  }
</script>

ИЛИ ЖЕ

вы можете вернуть false из вашей функции showDialog()

Надеюсь, что это поможет вам

Другие вопросы по тегам