すべてのフォームを検証するために bootstrapValidator を使用していますが、ログイン フォームでは、ユーザーがenterまたはreturnを押してすべてが有効な場合、何も起こりません。
使用しているhtmlは次のとおりです。
<form id="signin" name="signin" class="validate-live" method="POST">
<fieldset>
<!-- Email -->
<div class="form-group">
<label class="control-label sr-only" for="email">Email</label>
<input id="email" name="email" type="email" placeholder="Email"
class="form-control"
data-bv-notempty="true"
data-bv-notempty-message="Please enter your email"
>
</div>
<!-- Password -->
<div class="form-group">
<label class="control-label sr-only" for="password">Password</label>
<input id="password" name="password" type="password" placeholder="Password"
class="form-control"
data-bv-notempty="true"
data-bv-notempty-message="Please enter your password"
>
</div>
<button type="submit" id="submit_button" name="submit_button" class="btn btn-primary btn-block btn-next">Sign in</button>
<a href="reset-password.php" class="btn btn-link-secondary btn-forgot" >Forgot password?</a>
</fieldset>
</form>
そして、bootstrapValidator コード:
$(document).ready(function() {
$('.validate-live').bootstrapValidator({
live: 'enabled',
message: 'This value is not valid',
feedbackIcons: {
valid: 'glyphicon glyphicon-ok',
invalid: 'glyphicon glyphicon-remove',
validating: 'glyphicon glyphicon-refresh'
},
submitButtons: '#submit_button',
trigger: null
}).on('error.field.bv', function(e, data) {
data.bv.disableSubmitButtons(true);
}).on('success.field.bv', function(e, data) {
data.bv.disableSubmitButtons(false);
if (data.bv.getInvalidFields().length>0) {
data.bv.disableSubmitButtons(true);
}
});
});
イベント ハンドラーにいくつかの console.logs を追加しました。キーを押すとバリデーターがアクティブになり、フォームが無効な場合はプロンプトが表示されますが、フォームが正常な場合は、ユーザーが実際に#submit_button
ボタンをクリックするまで何も起こりません。 .