我正在尝试创建一个具有年属性的数据库,但我遇到了一些困难.我创建了脚手架并尝试使用以下代码修改_form.html.erb:
<%= f.date_select :year, :start_year=>2000, :end_year=>Time.now.year %>
Run Code Online (Sandbox Code Playgroud)
试图运行rails服务器并给我这个错误:
1 error(s) on assignment of multiparameter attributes
Run Code Online (Sandbox Code Playgroud)
我意识到我只想要一年而不是一天或一个月.有没有办法做到这一点?我试过:discard_month => true但是只是隐藏它,但仍然存储它.
提前致谢
在 Symfony2 中,我使用 formbuilder。我正在按照文档在表单中设置标签。
但是,当我在“显示”和“索引”页面上时,我必须将标签复制到 Twig 中。
有没有办法让所有地方都使用相同的标签?我想到的选项:
然而,无论哪种方式都需要我“做”一些事情,这是我在 Symfony 中不习惯的。这似乎是已经解决的问题,但我不确定如何解决。
我想在表单类型类中调用函数.function generate array,写在实体存储库类中.使用该数组我将生成动态表单字段.这是实体存储库类函数.
public static $roleNameMap = array(
self::ROLE_SUPER_ADMIN => 'superAdmin',
self::ROLE_MANAGEMEN => 'management',
self::ROLE_MANAGERS => 'manager',
self::ROLE_IT_STAFF => 'itStaff',
self::ROLE_CS_CUSTOMER => 'csCustomer',
self::ROLE_CS => 'cs',
self::ROLE_DEALER => 'dealer',
self::ROLE_ACCOUNT_STAFF => 'accountStaff',
self::ROLE_BROKER_USER => 'staff',
);
public function getGroupListArray()
{
$qb = $this->createQueryBuilder('g')
->orderBy('g.hierarchy','ASC');
$query = $qb->getQuery();
$groupList = $query->execute();
$roleNameMap = array();
foreach ($groupList as $role){
$roleNameMap[$role->getId()] = $role->getRole();
}
return $roleNameMap;
}
Run Code Online (Sandbox Code Playgroud)
下面是我的表单构建器类,我想在上面调用实体存储库函数.
public function buildForm(FormBuilderInterface $builder, array $options) {
$builder->add('routeId', 'hidden');
foreach (GroupListRepository::$roleNameMap as $key=>$value){
$builder->add($value, 'checkbox',array('label' …Run Code Online (Sandbox Code Playgroud) 我正在使用Laravel的表单构建器来生成登录表单.这看起来很简单,但它不起作用.我正在尝试为我的复选框创建一个标签,可以单击该标签来设置/取消设置复选框.目前,单击标签不会执行任何操作.这是我的代码:
{{ Form::open(array('url' => '/account/login', 'role' => 'form')) }}
{{ Form::token() }}
<div class="form-group">
{{ Form::label('email', 'Email Address', array('class' => 'sr-only')) }}
{{ Form::text('email', '', array('class' => 'form-control', 'placeholder' => 'Email Address')) }}
</div>
<div class="form-group">
{{ Form::label('password', 'Password', array('class' => 'sr-only')) }}
{{ Form::password('password', array('class' => 'form-control', 'placeholder' => 'Password')) }}
</div>
{{ Form::submit('Login', array('class' => 'btn btn-default')) }}
<a href="#forgotpassword" class="btn btn-link btn-sm pull-right">Forgot password?</button></a><br>
{{ Form::checkbox('remember') }}
{{ Form::label('remember', 'Remember me') }}
{{ Form:: close() }}
Run Code Online (Sandbox Code Playgroud)
我不确定问题是什么,但我可能错过了一些明显的问题.任何帮助是极大的赞赏!
是否有与 HTML 5 的数据时间输入字段等效的 Laravel 5 Form Builder?我已经找了一整天但没有找到任何东西。
<input type="datetime-local" class="form-control" id="game-date-time-text" name="game_date_time">
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激。
我该怎么做?
我目前的代码是:
<%= f.label :email, html_escape("<span class=\"big\">Test</span>") %>
Run Code Online (Sandbox Code Playgroud)
这并没有显示我想要的东西,因为
<span class=\"big\">Test</span>
Run Code Online (Sandbox Code Playgroud)
显示为文本而不是HTML.
我一直在考虑覆盖FormBuilder,但我不知道如何做到这一点并且搜索类似的东西并没有解决我的问题.
此外,而不是测试我想显示变量:电子邮件.
我只是想解决我有的问题:)
PS.我正在使用Rails 3.0.
我正在尝试使用Rails 2.3为数组生成一组文本字段.我的控制器中有一个数组(不是模型的一部分),我想为每个条目创建一个文本字段.数组如下:
@ages = [1, 3, 7] # defaults
Run Code Online (Sandbox Code Playgroud)
然后,我想在视图中使用值1,3和7生成3个文本字段,并在提交时使用用户的值填充数组.
我在谷歌和这里发现了一堆东西,但似乎没有一件对我有用.我相信在Rails中这很容易......
这就是我的代码片段的样子.
// ---这是我控制器中的代码----
$registrationForm = $this->createFormBuilder()
->add('email')
->add('password', 'repeated', array('type' => 'password', 'invalid_message' => 'Passwords do not match'))
->getForm();
return $this->render('AcmeHelloBundle:Default:index.html.twig', array('form' => $registrationForm->createView()));
// --- This is the twig file code----
<form action="#" method="post" {{ form_enctype(form) }}>
{{ form_errors(form) }}
{{ form_row( form.email, { 'label': 'E-Mail:' } ) }}
{{ form_errors( form.password ) }}
{{ form_row( form.password.first, { 'label': 'Your password:' } ) }}
{{ form_row( form.password.second, { 'label': 'Repeat Password:' } ) }}
{{ form_rest( form ) }} …Run Code Online (Sandbox Code Playgroud) 我使用 Symfony 表单生成器来生成重复类型 (RepeatedType) 的密码字段 (PasswordType):
->add('plainPassword', RepeatedType::class, [
'type' => PasswordType::class,
'required' => true,
'first_options' => array('label' => 'Password'),
'second_options' => array('label' => 'Repeat Password'),
'constraints' => [
new Assert\NotBlank(['message' => "Ce champ est obligatoire."]),
new Assert\Length([
'min' => 8,
'minMessage' => 'Le mot de passe doit comporter plus de {{ limit }} caractères.',
]),
],
'invalid_message' => 'Le mot de passe doit être identique.',
'options' => ['attr' => [
'class' => 'password-field',
'placeholder' => "Mot de passe"
]], …Run Code Online (Sandbox Code Playgroud) 我有一组语言供用户选择,还有一种默认语言可供选择。选择默认语言后,我想确保以编程方式选中该语言的复选框。
我不确定如何在语言的 FormArray 上使用 patchValue。
组件.ts
import { FormGroup, FormControl, FormArray, Validators } from '@angular/forms';
...
constructor(...) {
this.languages = ['English', 'Spanish', 'Mandarin', 'Klingon'];
this.myForm = new FormGroup({
languages: this.createLanguagesControl(),
defaultLanguage: new FormControl('', Validators.required)
});
}
createLanguagesControl() {
const controls = this.languages.map(language => {
return new FormControl(false);
});
return new FormArray(controls);
}
defaultLanguageSelection() {
let formValues = this.myForm.value;
console.log('defaultLanguageSelection', formValues.defaultLanguage);
let i = 0;
for (let language of this.languages) {
if (language == formValues.defaultLanguage) { // find the index of …Run Code Online (Sandbox Code Playgroud) formbuilder angular angular-reactive-forms angular-forms formarray