如何使重力形式名称字段输入仅接受字母

问题描述

如何使重力形式名称字段仅接受字母,数字应该给出错误。

解决方法

在表单提交之前,您需要使用gform_field_validation验证过滤器才能进行这种validation的操作。

此外,我们需要将PHP的preg_match函数与regex结合使用,以确保仅从全名输入值中提取字母

只需将以下代码添加到活动主题的functions.php文件中:(经过测试并可以正常工作的代码)

add_filter( 'gform_field_validation',function ( $result,$value,$form,$field ) {
    if ( $field->type == 'name' ) {

        // Input values
        $fullName = rgar( $value,$field->id . '.3' );
         
        if ( empty( $fullName )) {
            $result['is_valid'] = false;
            $result['message']  = empty( $field->errorMessage ) ? __( 'This field is required. Please enter a complete name.','gravityforms' ) : $field->errorMessage;
        } else if (preg_match('/[A-Za-z].*[0-9]|[0-9].*[A-Za-z]/',$fullName)) { //check for letters only
            $result['is_valid'] = false;
            $result['message']  = empty( $field->errorMessage ) ? __( 'Full name must ony contains letters.','gravityforms' ) : $field->errorMessage;
        } else {
            $result['is_valid'] = true;
            $result['message']  = '';
        }
    }
    return $result; //return results
},10,4 );

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...