要在symfony2
中的表单字段中设置默认值,我会使用与{j}结合的rel
属性作为精美解释here:
$builder->add('title', 'text', array(
'attr'=> array(
'class'=>'prepopulate',
'rel'=>'Enter a title here...',
)
));
这非常有效,并提供以下内容:
如您所见,该字段预填充了“在此处输入标题...”。如果我按原样验证表单,则不会在插入默认值时进行验证(这是有意义的)。
我想确保用户自定义此字段,而不只是提交具有默认值的表单...
答案 0 :(得分:1)
嗯...
您可以在实体的注释中尝试此操作:
@Assert\Regex("/^(?!Enter a title here\.\.\.)/")
甚至更好:
/**
* @Assert\Regex(
* pattern="/^Enter a title here\.\.\.$/",
* match=false,
* message="Please enter a title."
* )
*/
答案 1 :(得分:1)
我们可以在客户端执行此操作,并将rel属性与提交的数据进行比较。如果值相同,我们清除对象:
$(function() {
// When we submit the form
$('form').submit(function() {
//iterate over all the elements of the class "prepopulate"
jQuery('.prepopulate').each(function(){
//compare the values submitted vs rel attribute
if( jQuery(this).val() == jQuery(this).attr('rel'))
jQuery(this).val('');
});
return true;
});
});