$('.submitform').submit(function(event) {
event.preventDefault();
if (($(this).attr("modal-val") == 'modal1') && ($(this).attr("field-value") == '0')) {
console.log('You can not submit 0');
return;
}
console.log("This one continues to execute")
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<div>
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#modal1" data-hidden-val="a" name="submit_hidden" style="position: center;">Add</button>
</div>
<div class="modal" id="modal1" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<form action="process.php" method="POST" class="submitform">
<div class="modal-body">
<div class="form-group">
<label for="field-value">Field Value:</label>
<input type="number" value="0" id="field-value" name="field-value">
</div>
<div class="form-group">
<input type="hidden" value="modal1" id="modal-val" name="modal-val">
</div>
<div class="form-group">
<input type="hidden" value="" id="subfield" name="subfield">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
<button type="submit" class="btn btn-primary">Save</button>
</div>
</form>
</div>
</div>
</div>
I want to conduct a form validation inside submit(function(event){})
. Normally people follow these steps:
- on button click call validation function.
- Validate the form and forward to submit function if valid.
- If not properly filled form warn the user.
What I want to do is:
- call
submit(function(event){})
. - Inside an if block check the validation.
- If form is validated continue.
- If form is not validated break from
submit(function(event){})
.
I want to follow this practice because I'm accessing some data attibutes of the submit button and don't want to pass it around.