У меня есть контактная форма с 4 полями, и только поле номера телефона обязательно. Я хотел бы изменить его и сделать поле для телефона или электронной почты обязательным. Один из них должен быть заполнен. Если кто-то заполняет поле электронной почты, то поле телефона больше не является обязательным, и наоборот.
Ниже приведен код, который я должен изменить.
<script>
document.addEventListener('DOMContentLoaded', function (event) {
$(document).ready(function () {
$.validator.addMethod(
'regex',
function (value, element, regexp) {
var check = false
return this.optional(element) || regexp.test(value)
},
'Sprawdź swoje dane.'
)
var validator = $('#sfform').validate({
debug: false,
ignore: '.ignore',
rules: {
email: {
required: false,
email: true
},
mobile: {
required: true,
regex: /^((00|\+)[1-9]([\s-\.]?\d){6,11}|0?[1-9]([\s-\.]?\d){8})$/
},
'00N1t00000ADSD0': {
required: true
},
hiddenRecaptcha: {
required: function () {
if (grecaptcha.getResponse() == '') {
return true
} else {
return false
}
}
}
},
messages: {
email: {
email: 'Błędny adres email'
},
mobile: {
required: 'Numer telefonu jest wymagany',
regex: 'Błędny numer telefonu'
},
'00N1t00000ADSD0':
{
required: 'Zgoda jest wymagana do uzyskania kontaktu'
},
hiddenRecaptcha: {
required: 'Zanaczenie pola jest wymagane'
}
},
submitHandler: function () {
document.getElementById('sfform').submit()
},
errorElement: 'span',
errorPlacement: function (error, element) {
error.addClass('invalid-feedback')
element.closest('.form-group').append(error)
},
highlight: function (element, errorClass, validClass) {
$(element).addClass('is-invalid')
},
unhighlight: function (element, errorClass, validClass) {
$(element).removeClass('is-invalid')
}
})
})
})
</script>