2016-10-31 17:49:40 3462次浏览 5条回答 1 悬赏 20 金钱

我怎设置的可以让 1处 可以出现提示信息呢?比如提示“城市简称可自行修改!”
4444444.png

补充于 2016-10-31 21:10

我意思是写死在那里,就是表单页面一加载出,就会出来那个提示信息。

最佳答案

  • bryson 发布于 2016-10-31 22:42 举报

    可以參照 的方法或者參考以下

    <?= $form->field($model, 'city_abbreviation', [
        'template' => "
            {label}<span style='padding-left:10px;'>城市简称可自行修改!</span>\n{input}\n{hint}\n{error}"
        ]
    )?>
    
    2 条回复
    回复于 2016-11-01 09:45 回复

    写成你说的这样 实现了在属性名称后面 跟提示信息,但是好像无法改变提示信息的字体大小和颜色?

    回复于 2016-11-01 10:47 回复

    我修改好了,,多谢多谢

    觉得很赞
  • 回答于 2016-10-31 19:13 举报
    rules() public method
    [
        // built-in "required" validator
        [['username', 'password'], 'required'],
        // built-in "string" validator customized with "min" and "max" properties
        ['username', 'string', 'min' => 3, 'max' => 12],
        // built-in "compare" validator that is used in "register" scenario only
        ['password', 'compare', 'compareAttribute' => 'password2', 'on' => 'register'],
        // an inline validator defined via the "authenticate()" method in the model class
        ['password', 'authenticate', 'on' => 'login'],
        // a validator of class "DateRangeValidator"
        ['dateRange', 'DateRangeValidator'],
    ];
    <a href="http://www.yiichina.com/doc/api/2.0/yii-base-model#rules()-detail">点击访问链接,可能是你想要的!</a>
    
    1 条回复
    回复于 2016-10-31 21:10 回复

    感觉这个不能

  • 回答于 2016-10-31 21:13 举报

    model文件里有如下方法:

    public function attributeLabels()
        {
            return [
                '字段名' => Yii::t('app', '城市简称可自行修改'),
            ];
        }
    
    4 条回复
    回复于 2016-11-01 09:48 回复

    model文件里这样写:

    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'name' => '城市名称',
            'prefix' => '城市简称',
            'pinyin' => '城市拼音',
            'domain' => '站点链接', 
        ];
    }
    
    
    public function attributeLabels()
    {
        return [
            'prefix' => Yii::t('app', '城市简称可自行修改!'),
        ];
    }
    

    也不对啊,报错:
    Cannot redeclare app\models\Site::attributeLabels()

    回复于 2016-11-01 10:09 回复

    报错信息很明显了,你写了两个相同的方法,把 'prefix' => Yii::t('app', '城市简称可自行修改!'),放入第一个里面

    {
        return [
            'id' => 'ID',
            'name' => '城市名称',
            'prefix' => Yii::t('app', '城市简称可自行修改!'),        
            'pinyin' => '城市拼音',
            'domain' => '站点链接', 
        ];
    }
    
    回复于 2016-11-01 10:30 回复

    你这样写,相当于把原来的属性标题名称(城市简称)给替换成了(城市简称可自行修改!),这样显然不对

    回复于 2016-11-01 10:36 回复

    那就按照@bryson的了

  • 回答于 2016-11-01 08:59 举报

    <?= $form->field($model, 'jc')->textInput()->lable('城市简称 可自行修改') ?>

    8 条回复
    回复于 2016-11-01 09:38 回复

    加了->lable('城市简称 可自行修改') 就报错了:
    Calling unknown method: yii\widgets\ActiveField::lable()

    回复于 2016-11-01 09:47 回复

    不是用的ActiveForm实现的?

    回复于 2016-11-01 09:49 回复

    我是用的ActiveForm

    回复于 2016-11-01 09:51 回复

    _form.php:

    <?php $form = ActiveForm::begin(); ?>
    <?= $form->field($model, 'prefix')->textInput(['maxlength' => true])->lable('城市简称 可自行修改')  ?>
    
    回复于 2016-11-01 10:04 回复

    ->label('城市简称 可自行修改')
    手误,拼写错误

    回复于 2016-11-01 10:31 回复

    你这样写,相当于把原来的属性标题名称(城市简称)给替换成了(城市简称可自行修改),这样显然不对

    回复于 2016-11-01 11:50 回复

    @kokocool
    > 我意思是写死在那里,就是表单页面一加载出,就会出来那个提示信息。

    你需求不就是这样子?

    回复于 2016-11-01 14:27 回复

    是啊,->label()这个标签会覆盖之情我设定的属性的名称

  • 回答于 2016-11-01 10:12 举报
    <?= $form->field($model, '属性')->textInput()->hint('一些提示信息')?>
    
    2 条回复
    回复于 2016-11-01 10:23 回复

    这样写 属性名 和提示信息会出现两行,怎样让提示信息跟在属性值得后面,就是出现在同一行

    回复于 2016-11-01 12:50 回复

    怎么出现在同一行,你的 input 已经完全占据了一行。提示信息需要换行。

您需要登录后才可以回答。登录 | 立即注册
kokocool
总监

kokocool

注册时间:2016-10-31
最后登录:2017-03-20
在线时长:5小时6分
  • 粉丝6
  • 金钱1580
  • 威望50
  • 积分2130

热门问题