本文整理汇总了PHP中Anomaly\Streams\Platform\Ui\Form\FormBuilder::getEnabledFormFields方法的典型用法代码示例。如果您正苦于以下问题:PHP FormBuilder::getEnabledFormFields方法的具体用法?PHP FormBuilder::getEnabledFormFields怎么用?PHP FormBuilder::getEnabledFormFields使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Anomaly\Streams\Platform\Ui\Form\FormBuilder
的用法示例。
在下文中一共展示了FormBuilder::getEnabledFormFields方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: all
/**
* Return all the input from the form.
*
* @param FormBuilder $builder
* @return array
*/
public function all(FormBuilder $builder)
{
$input = [];
/* @var FieldType $field */
foreach ($builder->getEnabledFormFields() as $field) {
$input[$field->getInputName()] = $field->getValidationValue();
}
return $input;
}
示例2: make
/**
* Make custom validation messages.
*
* @param FormBuilder $builder
* @return array
*/
public function make(FormBuilder $builder)
{
$attributes = [];
/* @var FieldType $field */
foreach ($builder->getEnabledFormFields() as $field) {
$label = $field->getLabel();
if (str_contains($label, '::')) {
$label = trans($label);
}
if ($locale = $field->getLocale()) {
$label .= ' (' . $locale . ')';
}
$attributes[$field->getInputName()] = '"' . $label . '"';
}
return $attributes;
}
示例3: compile
/**
* Compile rules from form fields.
*
* @param FormBuilder $builder
* @return array
*/
public function compile(FormBuilder $builder)
{
$rules = [];
$entry = $builder->getFormEntry();
$stream = $builder->getFormStream();
$locale = $this->config->get('streams::locales.default');
/* @var FieldType $field */
foreach ($builder->getEnabledFormFields() as $field) {
if ($field->isDisabled()) {
continue;
}
if (in_array($field->getField(), $builder->getSkips())) {
continue;
}
$fieldRules = array_filter(array_unique($field->getRules()));
$fieldRules = $field->extendRules($fieldRules);
if (!$stream instanceof StreamInterface) {
$rules[$field->getInputName()] = implode('|', $fieldRules);
continue;
}
if ($assignment = $stream->getAssignment($field->getField())) {
$type = $assignment->getFieldType();
if ($type->isRequired()) {
$fieldRules[] = 'required';
}
if (!isset($fieldRules['unique']) && $assignment->isUnique() && !$assignment->isTranslatable()) {
$unique = 'unique:' . $stream->getEntryTableName() . ',' . $field->getColumnName();
if ($entry && ($id = $entry->getId())) {
$unique .= ',' . $id;
}
$fieldRules[] = $unique;
}
if ($assignment->isTranslatable() && $field->getLocale() !== $locale) {
$fieldRules = array_diff($fieldRules, ['required']);
}
}
$rules[$field->getInputName()] = implode('|', array_unique($fieldRules));
}
return array_filter($rules);
}