laravel - vue.js 中的日期格式更改
问题描述
我正在使用日期选择器:
<Datepicker :format="format" v-model="form.start" name="start"></Datepicker>
它的格式是这样的:
data(){
return {
format: "dd-MM-yyyy",
form: new Form({
id:'',
start: '',
现在在提交表单时,我已将其附加到这样的表单数据中
let formData = new FormData();
formData.append('start', this.form.start);
当我控制台我得到这样的日期Sat Jul 03 2021 19:11:00 GMT+0530 (India Standard Time)
在控制器中,我正在验证日期,例如:
public function store(Request $request)
{
$this->validate($request, [
'start' => 'required|date|after_or_equal:'.now()->format('d-m-Y'),
输出:
The start is not a valid date
非常感谢任何帮助。
解决方案
从我在这里看到的,这是设计使然。
请查看此代码,当您通过 @keyup 选择日期时会出现问题,然后您将获得 Date 对象(请查看此处)。但是,如果您通过日历选择日期,则值应该是具有该格式的字符串,而不是 Date 对象。
为了解决您的问题,我建议您这样做。
- 像这样指定格式道具
data() {
return {
format: (value) => value,
...
};
}
- 然后,您可以使用 dayjs 手动格式化日期,先安装它
npm install dayjs --save
,然后
const formData = new FormData();
formData.append('start', dayjs(this.form.start).format(this.format));
推荐阅读
- javascript - 多个同名查询参数
- javascript - 计算在一个数组中找到但在另一个数组中没有的 Moment.js 范围数组
- pandas - 在 PySpark 中使用 pandas_udf 时无法填充数组
- java - 如何将数据从 Activity 发送到其他两个 Fragment
- aws-api-gateway - 如何使用端点策略来限制从内部网络访问私有 API 的流量?
- clojure - 在 Clojure 中将列表列表转换为字符串
- css - 如何使用 3 项和 2 列进行网格 css 布局
- css - is-valid 图标与下拉选择图标重叠 Bootstrap 4
- c# - 无法使用 C# 获取 blobstorage 表中的行列表
- android - 我们可以通过android-management-api锁定android设备中的所有应用程序吗?