1 回答

TA貢獻(xiàn)1820條經(jīng)驗 獲得超10個贊
您需要使用gform_field_validation驗證過濾器才能在表單之前執(zhí)行此類validation
提交。
此外,我們需要使用 PHP 的?preg_match?函數(shù)和?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 );
- 1 回答
- 0 關(guān)注
- 140 瀏覽
添加回答
舉報