小编Raz*_*zor的帖子

输入验证异或

我有一个名为“答案”的模型。

该模型有两种可能的关系。一个Question或一个Product。但是,Answer 应该只具有一种关系。问题或产品。

有一个表格可以创建答案。

该表单具有三个输入。其中两个是<select>输入。另一个是文本输入,称为名称。

我希望我的验证只允许填写一项。

我当前的验证:

$validator = Validator::make(
    Input::all(),
    array('name' => array('required'))
);

$validator->sometimes('product', array('required', 'numeric'), function ($input) {
    return !is_numeric($input->question);
});

$validator->sometimes('question', array('required', 'numeric'), function ($input) {
    return !is_numeric($input->product);
});
Run Code Online (Sandbox Code Playgroud)

要求至少填写其中一项,但也允许填写两项。

所以,我的问题是:如何更改验证以仅允许填写其中一项选择。但其中一项必须始终填写。

选择1:

<select name="question" class="form-control">
    <option>None</option>
    <option value="1" selected="selected">Question 1</option>
    <option value="2">Question 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

选择2:

<select name="product" class="form-control">
    <option>None</option>
    <option value="2" selected="selected">Product 1</option>
    <option value="3">Product 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-4 laravel-validation

4
推荐指数
1
解决办法
2691
查看次数

使用 systemd ansible 启动多个进程

我想用该systemd模块启动 N 个进程,假设我有以下服务:

# file: /etc/systemd/system/sleep@.service
[Service]
ExecStart=/bin/sleep 420

[Install]
WantedBy=multi-user.target
Run Code Online (Sandbox Code Playgroud)

我想用 systemd 模块启动 3 个进程:

- name: Start Systemd Unit
  systemd:
    name: 'sleep@{1..3}.service'
    state: 'started'
Run Code Online (Sandbox Code Playgroud)

上面的任务只创建一个编码过程sleep@\\x7b1..3\\x7d.service,我不知道如何不对字符串进行编码。ansible支持创建多个进程吗?如果没有,最简单的方法是什么?


我当前的解决方法定义了具有密钥的服务列表instances,使用“subelements我能够单独创建这些进程”。我认为有更好的方法。

app_systemd_services:
  - name: sleep
    instances: "{{ range(3) | list }}"
Run Code Online (Sandbox Code Playgroud)
- name: Ensure Systemd Units are started
  systemd:
    name: "{{ item.0.name }}@{{ item.1 }}.service"
    state: started
  loop: "{{ app_systemd_services | subelements('instances') }}" 
Run Code Online (Sandbox Code Playgroud)

ansible

4
推荐指数
1
解决办法
5720
查看次数

标签 统计

ansible ×1

laravel ×1

laravel-4 ×1

laravel-validation ×1

php ×1