Laravel Spark表单如何提交?

3

Laravel Spark在其设置区域中有许多表单。下面是一个添加团队的表单示例。

enter image description here

如果我查看此表单的源代码,我可以看到以下内容:

该表单的HTML源代码如下:

<form role="form" class="form-horizontal">
    <div class="form-group">
        <label class="col-md-4 control-label">
            Team Name
        </label>
        <div class="col-md-6">
            <input type="text" id="create-team-name" name="name" class="form-control">
<!---->
                <span class="help-block" style="display: none;">
                </span>
            </div>
        </div>
    <div class="form-group">
        <div class="col-md-offset-4 col-md-6">
            <button type="submit" class="btn btn-primary">
                Create 
            </button>
        </div>
    </div>
</form>

具体来说,表单本身没有actiontype参数。

<form role="form" class="form-horizontal"> 

我的假设是有一些处理这个问题的javascript代码(一个Vue JS组件),但不是很清楚

  1. 团队创建javascript源文件的位置和/或Spark创建组件的位置
  2. 如何回溯到特定表单的javascript代码

我是一位有经验的程序员,只是对Spark比较新,希望对有经验的Spark开发人员来说这很简单/明显。

1个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
6
在Spark中,每个<form>通常由包含其定义的Vue.js组件处理,虽然它们没有action或method属性,但是它们确实有特殊的Vue指令,例如@submit(或@click如果是<button type ="submit">)。您在dev工具中看不到这些指令,是因为这些指令在呈现之前被编译。 因此,您所引用的表单被包装在<spark-create-team>标记中。您可以在/resources/assets/js/spark-components/settings/teams/create-team.js中找到初始化此组件的代码;您还会注意到,它只是从Spark的/vendor目录中要求组件定义。换句话说,组件和表单定义存储在Spark供应商文件中,位于/vendor/laravel/spark/resources/assets/js/settings/teams/create-form.js。您能看到settings/teams/create-form.js部分是相同的吗?这应该帮助您查找任何组件或表单的基础JS代码-只需搜索Spark的JS资产,最终,它的文件夹结构将成为您的第二天性。 至于SparkForm类,它是设计用于处理表单错误的帮助程序类。它的定义在vendor/laravel/spark/resources/assets/js/forms/form.js文件中,尽管我认为您不需要对其进行任何修改;只需按照 Taylor 使用 Axios 处理表单的示例进行操作,您就不应该遇到提交或验证方面的任何问题。虽然对于后面的验证点,我建议使用外部包,而不是默认使用服务器端验证,但这有点偏离主题。 希望这些能帮到您。

完美!正是我所需要的。 - Alana Storm
回复:只需按照Taylor使用Axios的表单示例即可--这些示例是哪些? - Alana Storm
@AlanStorm 可以查看任何包含 SparkForm 的供应商文件中的组件示例,以了解表单是如何提交的。或者您可以简单地参考文档(答案中的链接)。 - Alex
好的,@alex,谢谢你。我以为你指的是 Laravel 社区中一个特定的著名教程。再次感谢你的帮助! - Alana Storm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,