本文整理汇总了PHP中CheckboxField::getElementProperties方法的典型用法代码示例。如果您正苦于以下问题:PHP CheckboxField::getElementProperties方法的具体用法?PHP CheckboxField::getElementProperties怎么用?PHP CheckboxField::getElementProperties使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CheckboxField
的用法示例。
在下文中一共展示了CheckboxField::getElementProperties方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getRadioCheckbox
public function getRadioCheckbox($renderApi, $unit, $fieldId, $postRequestValue = null, $required = false)
{
$formField = new \Fieldset();
$listOptions = $this->listOptions->getListOptions($renderApi, $unit);
$inputName = strlen($renderApi->getFormValue($unit, 'inputName')) > 0 ? $renderApi->getFormValue($unit, 'inputName') . "[]" : $fieldId . "[]";
if ($listOptions->hasOptions()) {
$optionCount = 0;
$options = $listOptions->getOptions();
$optionsLength = count($options);
foreach ($options as $option) {
/* @var $option \Option */
$properties = $unit->getFormValues();
if ($properties["listType"] === \ListType::RADIO) {
$choiceField = new \RadioButtonField();
} elseif ($properties["listType"] === \ListType::CHECKBOX) {
$choiceField = new \CheckboxField();
}
$optionId = $fieldId . '_' . $optionCount;
$elementProperties = $choiceField->getElementProperties();
$elementProperties->addAttribute("value", $option->getValue());
$elementProperties->addAttribute("name", $inputName);
$elementProperties->addAttribute("id", $optionId);
// set required attribute for radio options or when there is only one checkbox
// don't set for multiple checkboxes to match server-side validation logic
if ($required && ($properties["listType"] === \ListType::RADIO || $optionsLength === 1)) {
$elementProperties->addAttribute("required", null);
}
$request = new Request();
$request->isPostRequest();
if (!$request->isPostRequest() && $option->isChecked() || !is_null($postRequestValue) && in_array($option->getValue(), $postRequestValue)) {
$elementProperties->addAttribute("checked", null);
}
$label = new \Label();
$label->add($choiceField);
$label->add(new \Span($option->getName()));
$labelProperties = $label->getElementProperties();
$labelProperties->addAttribute("for", $optionId);
$formField->add($label);
$optionCount++;
}
}
if ($this->formSubmit->isValid($renderApi, $unit) && !$this->isValidValue($unit, $postRequestValue)) {
$formField->add($this->getErrorMessage($unit, $postRequestValue));
$formField->getElementProperties()->addClass('vf__error');
}
return $formField;
}