elementor form表单提示如何更改

img

number验证可以0开头的8位整数数字但是数值不能超过99999999也不能低于0如果未能符合要求则提示:“请正确输入8位数验证码,谢谢!”
用这个代码改了一下发现8位验证码不能0开头,也不能提示


add_action('elementor_pro/forms/validation/number', function( $field, $record, $ajax_handler ) {
         if ( preg_match( '/[0-9]{8}/', $field['value'] ) !== 1 ) {
                 $ajax_handler->add_error( $field['id'], '请正确输入8位数验证码,谢谢!' );
         }
}, 10, 3 );

替换一下正则表达式

 
add_action('elementor_pro/forms/validation/number', function( $field, $record, $ajax_handler ) {
         if ( preg_match( '^[0-9]{8}$', $field['value'] ) !== 1 ) {
                 $ajax_handler->add_error( $field['id'], '请正确输入8位数验证码,谢谢!' );
         }
}, 10, 3 );

亲测可用

img

建议参考官方的表单验证的逻辑,定义rules规则

Elementui el-input 输入框校验以及校验表单校验_长春小霸王的博客-CSDN博客_element input输入框的验证

他还有默认的,你还要把他默认的验证那边修改的,或者你不用他的Number这个,你自己重新自定义一个,然后命名文件存在,elementor-pro\modules\forms\fields 里面,比如你命名为str-number.php,然后按例子那个写一个验证规则

参考链接,需要有帮助