【问题标题】:Validations not working in ODOO website验证在 ODOO 网站中不起作用
【发布时间】:2016-06-21 13:21:37
【问题描述】:

我在 ODOO v8 中为它创建了一个模板和一个控制器。以下是模板:

<template id="myTemplate">
    <t t-call="myTemplateHeader"/>
    <div class="myClass">
        <form action="/myControllerAction" name="myTemplateForm">
            <input type="text" id="name" name="name"/>
            <input type="text" id="lname" name="lname"/>
            <input type="text" id="email" name="email"/>
            <input type="submit" value="Submit"/>
        </form>
    </div>
</template>

我已经为动作/myControllerAction 编写了一个控制器。

@http.route(['/myControllerAction'], type='http', auth="public", website=True)
def index(self, **post):
    data = {}
    # some action here
    # to submit and fetch values
    request.website.render("my_module.mySecondTemplate", data)

我在表单中的字段上添加了验证,因此如果没有在给定的所有文本字段中输入值,就无法提交表单。 JS 中的验证有效,当文本字段为空白时,它会显示一条警报消息(每个文本字段一个警报)。但是,在单击OKemail 字段的警报消息后,即使该字段为空,它也会提交表单。我检查了问题,发现只有我提供了问题才会存在

<input type="submit" value="Submit"/>

如果我用了就解决了

<input type="button" value="Submit"/>

但我必须在控制器中进行一些计算,并且需要从数据库中检索一些数据以显示在下一页上。为此,不能使用type="button",因为它只是submit 表单并重定向到下一页而不调用控制器函数。 type="submit" 将调用控制器,但验证无法如前所述。同样在javascript中使用onclick按钮事件提交form不会调用控制器。我想要对表单进行验证,然后调用控制器(提交时)。有什么方法可以在 ODOO v8 中实现吗?

【问题讨论】:

    标签: openerp odoo-8 odoo-website


    【解决方案1】:

    为了使 ODOO 模板中的字段成为必填字段,required="required" 属性可用于输入字段。

    <input type="text" id="name" name="name" required="required"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-12-06
      • 1970-01-01
      • 2017-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      相关资源
      最近更新 更多