我已经开发了一个时序v5 (在Joomla 3.4.8站点中),并且我需要在输入文本字段上添加一个自定义的服务器端验证。我只需要检查输入文件名"codiceConvenzione“是否有1/3个值(es: valueA、valueB或valueC)。
点击此链接:http://www.chronoengine.com/faqs/54-cfv4/cfv4-validation/2592-how-do-i-use-custom-serverside-validation.html
我已经在onSubmit ChronoForms操作中添加了以下“自定义代码”元素:
<?php
$ok_values = array(
'valueA',
'valueB',
'valueC'
);
if ( !in_array($form->data['codiceConvenzione'], $ok_values) ) {
$form->validation_errors['codiceConvenzione'] = "The Convention code isn't valid";
return false;
}
?>不幸的是,正如link http://www.chronoengine.com/faqs/54-cfv4/cfv4-validation/2592-how-do-i-use-custom-serverside-validation.html中所报道的,这个解决方案不适用于Chronoforms v5 (适用于ChronoForms v4)。
有没有人在Chronoforms v5中创建了一个自定义的PHP验证?你能给我看看你的PHP代码吗?你把它放在哪里了?
发布于 2016-05-16 00:17:48
你可能已经找到了一个解决方案,但我回答你是因为它可能对其他人有用。
ChronoForms v5没有自定义服务器端验证操作,您可以使用事件切换器操作来添加自定义服务器端验证,但是这不提供显示错误的相同方法。查看此处:https://www.chronoengine.com/faqs/70-cfv5/5212-event-switcher.html
基本上,要转换您的验证,您需要使用以下代码添加一个事件切换器:
<?php
$ok_values = array(
'valueA',
'valueB',
'valueC'
);
if(!in_array($form->data['codiceConvenzione'], $ok_values)){
$form->errors['codiceConvenzione'] = "The Convention code isn't valid";
return 'fail';
} else {
return 'success';
}
?>然后在事件切换器的失败事件中添加一个事件循环。正如您在Chronoforms V5中看到的,错误数组在$form->errors['input_name']中已更改名称
https://stackoverflow.com/questions/35529886
复制相似问题