如前所述,似乎 Gravity Forms 不处理开箱即用的前端验证
遇到了同样的问题,我使用jquerv 验证插件和以下代码片段解决了它
在您的 functions.php 文件中
add_action('gform_pre_enqueue_scripts',function(){
wp_enqueue_script('jquery-validate','https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.17.0/jquery.validate.min.js', ['jquery'], );
});
然后在您的自定义 javascript 文件中(如果您还没有,则必须创建一个并将其排入队列)
(function($) {
/**
* Checks if the jquery-validate library is loaded
*/
if ( !$.validator instanceof Function) {
return;
}
$('form[id*=gform_]').each(function() {
var validationOptions = {
rules: {},
};
$(this).find('.gfield_contains_required input').each(function(i) {
var ruleName = $(this).attr('name');
if (validationOptions.rules.hasOwnProperty(ruleName)) {
return;
}
validationOptions.rules[ruleName] = {
required: true,
};
});
if (Object.keys(validationOptions.rules).length > 0) {
$(this).validate(validationOptions);
}
});
})(jQuery)
这将搜索每个重力表单元素,并为表单创建者上已标记为必填的字段设置必填规则