Php 限制自定义帐号字段值仅为数字
我在添加字段的代码方面得到了很大的帮助,现在我希望收货方/账号只能是数字 这是我目前的代码:Php 限制自定义帐号字段值仅为数字,php,wordpress,validation,woocommerce,field,Php,Wordpress,Validation,Woocommerce,Field,我在添加字段的代码方面得到了很大的帮助,现在我希望收货方/账号只能是数字 这是我目前的代码: // login Field validation add_filter( 'woocommerce_login_errors', 'account_login_field_validation', 10, 3 ); function account_login_field_validation( $errors, $username, $email ) { if ( isset( $_POST
// login Field validation
add_filter( 'woocommerce_login_errors', 'account_login_field_validation', 10, 3 );
function account_login_field_validation( $errors, $username, $email ) {
if ( isset( $_POST['billing_account_number'] ) && empty( $_POST['billing_account_number'] ) ) {
$errors->add( 'billing_account_number_error', __( '<strong>Error</strong>: account number is required!', 'woocommerce' ) );
}
return $errors;
}
// Display field in admin user billing fields section
add_filter( 'woocommerce_customer_meta_fields', 'admin_user_custom_billing_field', 10, 1 );
function admin_user_custom_billing_field( $args ) {
$args['billing']['fields']['billing_account_number'] = array(
'label' => __( 'Ship to/ Account number', 'woocommerce' ),
'description' => '',
'custom_attributes' => array('maxlength' => 6),
);
return $args;
}
//登录字段验证
添加过滤器('woocommerce\u login\u errors'、'account\u login\u field\u validation',10,3);
函数帐户\登录\字段\验证($errors、$username、$email){
如果(设置($\u POST['billing\u account\u number'])和空($\u POST['billing\u account\u number'])){
$errors->add('billing_account_number_error',uuu('error:需要账号!','woocommerce');
}
返回$errors;
}
//“管理用户账单字段”部分中的显示字段
添加过滤器('woocommerce\u customer\u meta\u fields','admin\u user\u custom\u billing\u fields',10,1);
函数管理\用户\自定义\账单\字段($args){
$args['billing']['fields']['billing\u account\u number']=array(
“标签”=>uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu,
'说明'=>'',
“自定义_属性”=>array('maxlength'=>6),
);
返回$args;
}
非常感谢您的帮助。您可以使用条件
ctype\u digit()
函数将值限制为数字:
// login Field validation
add_filter( 'woocommerce_login_errors', 'account_login_field_validation', 10, 3 );
function account_login_field_validation( $errors, $username, $email ) {
if ( isset( $_POST['billing_account_number'] ) && empty( $_POST['billing_account_number'] ) ) {
$errors->add( 'billing_account_number_error', __( '<strong>Error</strong>: Account number is a required field.', 'woocommerce' ) );
} elseif ( isset( $_POST['billing_account_number'] ) && ! ctype_digit($_POST['billing_account_number']) ) {
$errors->add( 'billing_account_number_error', __( '<strong>Error</strong>: Only numeric digits are allowed on Account number field.', 'woocommerce' ) );
}
return $errors;
}
//登录字段验证
添加过滤器('woocommerce\u login\u errors'、'account\u login\u field\u validation',10,3);
函数帐户\登录\字段\验证($errors、$username、$email){
如果(设置($\u POST['billing\u account\u number'])和空($\u POST['billing\u account\u number'])){
$errors->add('billing_account_number_error',uuu('error:账号是必填字段,'woocommerce');
}elseif(isset($邮政['billing\u account\u number'])和&!ctype\u数字($邮政['billing\u account\u number'])){
$errors->add('billing_account_number_error',uuu('error:在account number字段中只允许使用数字,','woocommerce');
}
返回$errors;
}
您还可以使用is\u numeric()
函数
相关:你好,Loic非常感谢你每次都给我很大的帮助,这是你以前为我编辑的函数