如何使 Titan Framework 文本字段成为必填项
How to make Titan Framework text field required
我将 Titan Framework 与我编写的自定义插件一起使用。有一个带有选项卡的设置页面,上面有一个文本字段:
array(
'name' => 'Slug',
'id' => 'my_slug',
'type' => 'text',
'default' => 'my-slug',
'desc' => 'The slug.',
),
此文本字段允许用户为插件的前端指定 slug UI。问题是用户可以将此字段清除为空,然后保存导致错误的设置。
我知道当使用这个设置选项时,我可以在 PHP 代码中捕获这个条件。我也知道这可以使用 jQuery 来强制指定一个值来完成,但似乎应该有一个最佳实践解决方案。
谁能告诉我确保此字段具有值的正确方法?
用户绝对可以将其保存为空,是的,您可以使用 JS 来防止这种情况。但是因为没有 "pre save" 过滤器,解决这个问题的一种方法是对您提到的方法,向字段添加一个 placeholder
属性以在空时给出一个值的错觉(这只是为了更好的用户体验)。
array(
'name' => 'Slug',
'id' => 'my_slug',
'type' => 'text',
'default' => 'my-slug',
'desc' => 'The slug.',
'placeholder' => 'post',
),
然后在获取值时检查empty
。
$slug = $titan->getOption( 'my_slug' );
if ( empty( $slug ) ) {
$slug = 'post';
}
我将 Titan Framework 与我编写的自定义插件一起使用。有一个带有选项卡的设置页面,上面有一个文本字段:
array(
'name' => 'Slug',
'id' => 'my_slug',
'type' => 'text',
'default' => 'my-slug',
'desc' => 'The slug.',
),
此文本字段允许用户为插件的前端指定 slug UI。问题是用户可以将此字段清除为空,然后保存导致错误的设置。
我知道当使用这个设置选项时,我可以在 PHP 代码中捕获这个条件。我也知道这可以使用 jQuery 来强制指定一个值来完成,但似乎应该有一个最佳实践解决方案。
谁能告诉我确保此字段具有值的正确方法?
用户绝对可以将其保存为空,是的,您可以使用 JS 来防止这种情况。但是因为没有 "pre save" 过滤器,解决这个问题的一种方法是对您提到的方法,向字段添加一个 placeholder
属性以在空时给出一个值的错觉(这只是为了更好的用户体验)。
array(
'name' => 'Slug',
'id' => 'my_slug',
'type' => 'text',
'default' => 'my-slug',
'desc' => 'The slug.',
'placeholder' => 'post',
),
然后在获取值时检查empty
。
$slug = $titan->getOption( 'my_slug' );
if ( empty( $slug ) ) {
$slug = 'post';
}