void error_messages_for(
mixed
$object_name, [string[]
$options = array()])
|
|
Returns a string with a div containing all the error messages for the object located as an instance variable by the name of <tt>object_name</tt>. This div can be tailored by the following options:
<tt>header_tag</tt> - Used for the header of the error div (default: h2) <tt>id</tt> - The id of the error div (default: errorExplanation) <tt>class</tt> - The class of the error div (default: errorExplanation)
Tags:
Parameters:
void error_message_on(
mixed
$object_name, mixed
$attribute_name, [mixed
$prepend_text = ""], [mixed
$append_text = ""], [mixed
$css_class = "formError"])
|
|
Returns a string containing the error message attached to the +method+ on the +object+, if one exists.
This error message is wrapped in a DIV tag, which can be specialized to include both a +prepend_text+ and +append_text+ to properly introduce the error and a +css_class+ to style it accordingly. Examples (post has an error message "can't be empty" on the title attribute):
<?= error_message_on("post", "title") ?> => <div class="formError">can't be empty</div>
<?= error_message_on "post", "title", "Title simply ", " (or it won't work)", "inputError" ?> => <div class="inputError">Title simply can't be empty (or it won't work)</div>
Tags:
void form(
mixed
$record_name, [mixed
$options = array()])
|
|
Returns an entire form with input tags and everything for a specified Active Record object. Example
(post is a new record that has a title using VARCHAR and a body using TEXT): form("post") => <form action='/post/create' method='post'> <p>
<label for="post_title">Title</label>
<input id="post_title" name="post[title]" size="30" type="text" value="Hello World" /> </p> <p>
<label for="post_body">Body</label>
<textarea cols="40" id="post_body" name="post[body]" rows="20"> Back to the hill and over it again! </textarea> </p> <input type='submit' value='Create' /> </form>
It's possible to specialize the form builder by using a different action name and by supplying another block renderer. Example (entry is a new record that has a message attribute using VARCHAR):
form("entry", array('action' => "sign", 'input_block' => 'foreach($record->content_columns() as $column_name => $column) $contents .= Inflector::humanize($column_name) . ": " . input($record, $column) . "
"')) =>
<form action='/post/sign' method='post'> Message: <input id="post_title" name="post[title]" size="30" type="text" value="Hello World" />
<input type='submit' value='Sign' /> </form>
It's also possible to add additional content to the form by giving it a block, such as:
form("entry", array('action' => "sign", 'block' => content_tag("b", "Department") . collection_select("department", "id", $departments, "id", "name")) )
Tags:
void input(
mixed
$object_name, mixed
$attribute_name, [mixed
$options = array()])
|
|
Returns a default input tag for the type of object returned by the method. Example
(title is a VARCHAR column and holds "Hello World"): input("post", "title") => <input id="post_title" name="post[title]" size="30" type="text" value="Hello World" />
Tags: