【问题标题】:chronoforms v5 custom server side validationchronoforms v5 自定义服务器端验证
【发布时间】:2016-02-20 22:29:24
【问题描述】:

我开发了一个 chronoforms v5(在 Joomla 3.4.8 站点中),我需要在输入文本字段上添加自定义服务器端验证。只需检查输入文件名“codiceConvenzione”是否有一个或三个值(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;
}
?>

不幸的是,如链接 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代码和你把它放在哪里吗?

【问题讨论】:

  • 非常感谢SK!为了暂时解决我的问题(因为我必须立即解决),我使用了 Chronoforms V4,但我会尝试使用 ChronoForms V5 解决您的问题。

标签: php joomla chronoforms


【解决方案1】:

您可能已经找到了解决方案,但我回答您是因为它可能对其他人有用。

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';
}
?>

然后在Event Switcher的fail事件中添加一个Event Loop。正如您在 Chronoforms V5 中看到的,错误数组已在 $form-&gt;errors['input_name'] 中更改名称

【讨论】:

    猜你喜欢
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    • 2017-05-03
    • 1970-01-01
    • 2010-10-16
    • 2013-02-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多