我阅读了有关type=input的eval属性的文档,并尝试进行了自己的评估。
应该使用以下逻辑评估三个字段的组合: start_date和end_date必填(非空),或者需要date_on_request。
类已加载,evaluateFieldValue()函数正常运行,但我在表单中缺少反馈。
应该使用以下逻辑评估三个字段的组合: start_date和end_date必填(非空),或者需要date_on_request。
类已加载,evaluateFieldValue()函数正常运行,但我在表单中缺少反馈。
<?php
namespace Vendor\Extension\Evaluation;
class StartDateAndEndDateOrDateOnRequestEvaluation {
/**
* JavaScript code for client side validation/evaluation
*
* @return string JavaScript code for client side validation/evaluation
*/
public function returnFieldJS() {
return 'return value;';
}
/**
* Server-side validation/evaluation on saving the record
*
* @param string $value The field value to be evaluated
* @param string $is_in The "is_in" value of the field configuration from TCA
* @param bool $set Boolean defining if the value is written to the database or not.
* @return string Evaluated field value
*/
public function evaluateFieldValue($value, $is_in, &$set) {
foreach($_POST['data']['tx_extension_domain_model_course'] as $id => $course) {
if ( (!empty($course['start_date']) && !empty($course['start_date'])) || !empty($course['date_on_request']) ) {
$set = true;
} else {
$set = false;
}
}
return $value;
}
/**
* Server-side validation/evaluation on opening the record
*
* @param array $parameters Array with key 'value' containing the field value from the database
* @return string Evaluated field value
*/
public function deevaluateFieldValue(array $parameters) {
return $parameters['value'];
}
}
我正在寻找JavaScript中验证的示例(returnFieldJS):
- 我如何获取这三个字段?
- 如何设置错误类?
在evaluateFieldValue()中应该检查什么?