“XOOPS表单元素”
XOOPS 通过其 XOOPSFormElement 类层次结构提供了一组全面的表单元素。这些元素处理 Web 表单的呈现、验证和数据处理。
表单元素层次结构
Section titled “表单元素层次结构”classDiagram class XoopsFormElement { +getName() +getCaption() +render() +setValue() +getValue() }
XoopsFormElement <|-- XoopsFormText XoopsFormElement <|-- XoopsFormTextArea XoopsFormElement <|-- XoopsFormSelect XoopsFormElement <|-- XoopsFormCheckBox XoopsFormElement <|-- XoopsFormRadio XoopsFormElement <|-- XoopsFormButton XoopsFormElement <|-- XoopsFormHidden XoopsFormElement <|-- XoopsFormFile XoopsFormElement <|-- XoopsFormLabel XoopsFormElement <|-- XoopsFormPassword XoopsFormElement <|-- XoopsFormDateTime文本输入元素
Section titled “文本输入元素”XOOPSFormText
Section titled “XOOPSFormText”单-line文本输入:
use XoopsFormText;
$element = new XoopsFormText( caption: 'Username', name: 'username', size: 30, maxlength: 50, value: $currentValue);XOOPSForm密码
Section titled “XOOPSForm密码”带屏蔽的密码输入:
use XoopsFormPassword;
$element = new XoopsFormPassword( caption: 'Password', name: 'password', size: 30, maxlength: 100);XOOPSFormTextArea
Section titled “XOOPSFormTextArea”多-line文本输入:
use XoopsFormTextArea;
$element = new XoopsFormTextArea( caption: 'Description', name: 'description', value: $currentValue, rows: 5, cols: 50);XOOPSFormSelect
Section titled “XOOPSFormSelect”下拉选择:
use XoopsFormSelect;
$element = new XoopsFormSelect( caption: 'Category', name: 'category_id', value: $selected, size: 1, multiple: false);
$element->addOption(1, 'Category 1');$element->addOption(2, 'Category 2');$element->addOptionArray([ 3 => 'Category 3', 4 => 'Category 4']);XOOPSFormCheckBox
Section titled “XOOPSFormCheckBox”复选框输入:
use XoopsFormCheckBox;
$element = new XoopsFormCheckBox( caption: 'Features', name: 'features', value: $selected);
$element->addOption('comments', 'Enable Comments');$element->addOption('ratings', 'Enable Ratings');XOOPSFormRadio
Section titled “XOOPSFormRadio”单选按钮组:
use XoopsFormRadio;
$element = new XoopsFormRadio( caption: 'Status', name: 'status', value: $currentValue);
$element->addOption('draft', 'Draft');$element->addOption('published', 'Published');$element->addOption('archived', 'Archived');XOOPSFormFile
Section titled “XOOPSFormFile”文件上传输入:
use XoopsFormFile;
$element = new XoopsFormFile( caption: 'Upload Image', name: 'image');
$element->setMaxFileSize(2 * 1024 * 1024); // 2MBXOOPSFormDateTime
Section titled “XOOPSFormDateTime”Date/time选择器:
use XoopsFormDateTime;
$element = new XoopsFormDateTime( caption: 'Publish Date', name: 'publish_date', size: 15, value: time());XOOPSFormHidden
Section titled “XOOPSFormHidden”隐藏字段:
use XoopsFormHidden;
$element = new XoopsFormHidden('article_id', $articleId);XOOPSFormLabel
Section titled “XOOPSFormLabel”显示-only标签:
use XoopsFormLabel;
$element = new XoopsFormLabel( caption: 'Created By', value: $authorName);XOOPSFormButton
Section titled “XOOPSFormButton”表单按钮:
use XoopsFormButton;
// Submit button$submit = new XoopsFormButton('', 'submit', 'Save', 'submit');
// Reset button$reset = new XoopsFormButton('', 'reset', 'Reset', 'reset');添加 CSS 类
Section titled “添加 CSS 类”$element->setExtra('class="form-control custom-class"');添加自定义属性
Section titled “添加自定义属性”$element->setExtra('data-validate="required" placeholder="Enter text..."');$element->setDescription('Enter a unique username (3-20 characters)');- 表格概览
- 表单验证
- 自定义渲染器