paul smith
paul smith

Reputation: 1347

cakephp form helper bug

I think I've found a bug in Cake's FormHelper class, but maybe I'm just not using the correct function, so hopefully somebody on here knows. Here's the relevant code:

<?php
    echo $this->Form->input('first_name', array('value' =>'First Name', 'label' => false));
?>

As you can see, I'm just outputting an input text field that has a default value of First Name. The issue I'm experiencing is that if the user does not provide a valid name, then the form does not preserve the value that the user tried to submit with, instead it just shows the default value again (First Name). So basically, if I were to enter into the field "hey123" and then click submit, the form will show the appropriate validation error message next to the text field, but the text field itself won't contain my previous entry of hey123, it will show the First Name text again.

Is it possible to have the input field show the default value initially while also allowing whatever the user entered into the form to be preserved when validation errors occur? So in the previous example, instead of showing the First Name text on the error validation page, it'd show my original entry that caused the issue, hey123.

Upvotes: 0

Views: 162

Answers (1)

Barry Chapman
Barry Chapman

Reputation: 6780

Use:

<?php
    echo $this->Form->input('first_name', array('default' =>'First Name', 'label' => false));
?>

Note, use default instead of value. Default will set a 'default' value, while value will explicitly set the value of that field.

Upvotes: 5

Related Questions