-1
Hello.
I’m trying to do a validation for Cpf, this code is in Jquery, and without using onclick or something similar in the input, you need to take only the input ID in the form.
Follows the code:
jQuery(function(a) {
var b = {
init: function() {
"0" === wcbcf_public_params.sort_state_country && a(document.body).on("country_to_state_changing", this.country_to_state_changing), "0" !== wcbcf_public_params.person_type && this.person_type_fields(), "yes" === wcbcf_public_params.maskedinput && (a(document.body).on("change", "#billing_country", function() {
"BR" === a(this).val() ? b.maskBilling() : b.unmaskBilling()
}), a(document.body).on("change", "#shipping_country", function() {
"BR" === a(this).val() ? b.maskShipping() : b.unmaskShipping()
}), this.maskGeneral()), "yes" === wcbcf_public_params.mailcheck && this.emailCheck(), a().select2 && a(".wc-ecfb-select").select2(), "BR" === a("#billing_country").val() && b.maskBilling()
},
country_to_state_changing: function() {
a("#billing_state_field label").html(wcbcf_public_params.state + ' <abbr class="required" title="' + wcbcf_public_params.required + '">*</abbr>'), a("#billing_postcode_field").insertAfter("#billing_country_field"), a("#shipping_state_field").length && (a("#shipping_state_field label").html(wcbcf_public_params.state + ' <abbr class="required" title="' + wcbcf_public_params.required + '">*</abbr>'), a("#shipping_postcode_field").insertAfter("#shipping_country_field"))
},
person_type_fields: function() {
"no" === wcbcf_public_params.only_brazil ? (a(".person-type-field label .required").remove(), a(".person-type-field").addClass("validate-required"), a(".person-type-field label").append(' <abbr class="required" title="' + wcbcf_public_params.required + '">*</abbr>')) : a("#billing_country").on("change", function() {
"BR" === a(this).val() ? (a(".person-type-field label .required").remove(), a(".person-type-field").addClass("validate-required"), a(".person-type-field label").append(' <abbr class="required" title="' + wcbcf_public_params.required + '">*</abbr>')) : (a(".person-type-field").removeClass("validate-required"), a(".person-type-field label .required").remove())
}).change(), "1" === wcbcf_public_params.person_type && a("#billing_persontype").on("change", function() {
var b = a(this).val();
a("#billing_cpf_field").hide(), a("#billing_rg_field").hide(), a("#billing_company_field").hide(), a("#billing_cnpj_field").hide(), a("#billing_ie_field").hide(), "1" === b && (a("#billing_cpf_field").show(), a("#billing_rg_field").show()), "2" === b && (a("#billing_company_field").show(), a("#billing_cnpj_field").show(), a("#billing_ie_field").show())
}).change()
},
maskBilling: function() {
b.maskPhone("#billing_phone, #billing_cellphone"), a("#billing_birthdate").mask("00/00/0000"), a("#billing_postcode").mask("00000-000"), a("#billing_phone, #billing_cellphone, #billing_birthdate, #billing_postcode").attr("type", "tel")
},
unmaskBilling: function() {
a("#billing_phone, #billing_cellphone, #billing_birthdate, #billing_postcode").unmask().attr("type", "text")
},
maskShipping: function() {
a("#shipping_postcode").mask("00000-000").attr("type", "tel")
},
unmaskShipping: function() {
a("#shipping_postcode").unmask().attr("type", "text")
},
maskGeneral: function() {
a("#billing_cpf, #credit-card-cpf").mask("000.000.000-00"), a("#billing_cnpj").mask("00.000.000/0000-00"), b.maskPhone("#credit-card-phone")
},
maskPhone: function(b) {
var c = a(b),
d = function(a) {
return 11 === a.replace(/\D/g, "").length ? "(00) 00000-0000" : "(00) 0000-00009"
},
e = {
onKeyPress: function(a, b, c, e) {
c.mask(d.apply({}, arguments), e)
}
};
c.mask(d, e)
},
emailCheck: function() {
a("#wcbcf-mailsuggest").length < 1 && a("#billing_email").after('<div id="wcbcf-mailsuggest"></div>'), a("#billing_email").on("blur", function() {
a("#wcbcf-mailsuggest").html(""), a(this).mailcheck({
suggested: function(b, c) {
a("#wcbcf-mailsuggest").html("Você quis dizer: " + c.full + "?")
alert("teste");
}
})
}), a("#wcbcf-mailsuggest").css({
color: "#c00",
fontSize: "small"
})
}
};
b.init()
});
The above code works perfectly, generates the masks and validates e-mail addresses, in case need put CPF validation, so that it is valid, the mask is 999.999.999-99, the input id is:
billing_cpf
<input type="tel" class="input-text " name="billing_cpf" id="billing_cpf" placeholder="" value="000.000.000-00" data-qa-id="CPF" required="required" maxlength="14">
Any suggestions?
You use some https://stackoverflow.com/questions/24981189/jquery-validation-not-validate-multi-select-box-in-form?
– novic
No multi select box usage, just : <input type="tel" class="input-text " name="billing_cpf" id="billing_cpf" placeholder=""value="000.000.000-00" data-qa-id="CPF" required="required" maxlength="14">
– Yuri Silva