目前,我有一个非常简单的类验证器文件,其中包含 Nest.js 中的 ValidationPipe,如下所示:
import {
IsDateString,
IsEmail,
IsOptional,
IsString,
Length,
Max,
} from 'class-validator';
export class UpdateUserDto {
@IsString()
id: string;
@Length(2, 50)
@IsString()
firstName: string;
@IsOptional()
@Length(2, 50)
@IsString()
middleName?: string;
@Length(2, 50)
@IsString()
lastName: string;
@IsEmail()
@Max(255)
email: string;
@Length(8, 50)
password: string;
@IsDateString()
dateOfBirth: string | Date;
}
Run Code Online (Sandbox Code Playgroud)
假设在上面的“UpdateUserDto”中,用户传递了一个“电子邮件”字段。我想通过类验证器构建自定义验证规则,以便:
虽然检查电子邮件地址是否已在使用中是一项非常简单的任务,但如何将 DTO 中其他属性的值传递给自定义装饰器@IsEmailUsed
我在Xcode中使用Swift语言创建了一个OS X Cocoa应用程序.我已经设置了我的主要故事板:
当我运行应用程序并按下按钮时,它会打开另一个视图控制器的新窗口,这不是我想要的.这就是我得到的:
我想要的是ViewControllers要在同一个窗口中切换,而不是在新窗口中切换.如何停止新窗口行为并使其在同一窗口中工作?
特别描述性和内容丰富的答案将获得价值50美元的声誉.
我正在使用JavaFX开发应用程序,对于视图,我使用FXML.
<AnchorPane id="AnchorPane" fx:id="dashboard" prefHeight="400.0" prefWidth="600.0" stylesheets="@css/dashboard.css" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.hassanalthaf.telemart.viewmodels.DashboardViewModel">
<children>
<MenuBar maxWidth="600.0" minWidth="600.0" prefWidth="600.0">
<menus>
<Menu mnemonicParsing="false" text="File">
<items>
<MenuItem mnemonicParsing="false" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Help">
<items>
<MenuItem mnemonicParsing="false" text="About" />
</items>
</Menu>
</menus>
</MenuBar>
<AnchorPane fx:id="home" layoutY="29.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="371.0" prefWidth="600.0" />
<AnchorPane fx:id="about" layoutY="29.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="371.0" prefWidth="600.0" />
<AnchorPane fx:id="users" layoutY="29.0" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="371.0" prefWidth="600.0" />
</children>
</AnchorPane>
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,这个段包含一些<AnchorPane>s的的ID home,about,users.这些是我的申请的单独页面.要操纵那些窗格,我必须将它们注入到我的代码中,如下所示: …
我正在尝试为字段username和的唯一约束违规设置验证消息email。但是,每当输入已使用的用户名时,它都会显示为该email属性定义的消息,但会显示该属性的输入username,并表示此输入适用于该username属性。我该如何解决这个问题?这是我的代码:
module.exports = function (sequelize, DataTypes) {
var users = sequelize.define('users', {
full_name: {
type: DataTypes.STRING,
allowNull: false,
validate: {
len: {
args: [5, 50],
msg: 'Your full name may be 5 to 50 characters only.'
}
}
},
email: {
type: DataTypes.STRING,
allowNull: false,
unique: {
msg: 'This email is already taken.'
},
validate: {
isEmail: {
msg: 'Email address must be valid.'
}
}
},
username: {
type: …Run Code Online (Sandbox Code Playgroud) 所以,我正在学习Angular2,我正在使用TypeScript.所以,我知道SystemJS用于获得这样的import功能:
import { bootstrap } from "angular2/platform/browser";
这是有道理的,但是,我不明白究竟angular2/platform/browser是哪里.我很确定它不是路径,而是用于模拟路径/命名空间的其他东西.另外,看bootstrap这里,是一堂课吗?或者它只是一个功能.是否有可能导入其他东西?
任何特殊的答案都会得到我的赏金.
在我启动Hibernate 5应用程序的那一刻,我发现这些警告就像疯了一样.我怎么能摆脱他们?这是我的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<!--
Program developed by Hassan Althaf.
Copyright © 2015, Hassan Althaf.
Website: http://hassanalthaf.com
-->
<hibernate-configuration>
<session-factory>
<property name="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</property>
<property name="hibernate.connecton.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="hibernate.connection.url">
jdbc:mysql://127.0.0.1:3306/telemart
</property>
<property name="hibernate.connection.username">
root
</property>
<property name="hibernate.connection.password">
php123
</property>
<mapping resource="com/hassanalthaf/telemart/users/User.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/customers/Customer.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/inventory/Product.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/orders/Order.hbm.xml"/>
<mapping resource="com/hassanalthaf/telemart/orders/OrderItem.hbm.xml"/>
</session-factory>
</hibernate-configuration>
Run Code Online (Sandbox Code Playgroud)
这是整个输出:
ant -f /Users/hassan/NetBeansProjects/TeleMart/TeleMart jfxsa-run
init:
Deleting: /Users/hassan/NetBeansProjects/TeleMart/TeleMart/build/built-jar.properties
deps-jar:
Updating property file: /Users/hassan/NetBeansProjects/TeleMart/TeleMart/build/built-jar.properties
Duplicated project name in import. Project jfx-impl …Run Code Online (Sandbox Code Playgroud) 源代码:
char CUSTOMERS_FILE[50] = "customers.txt";
typedef struct Customer {
char name[50];
char password[50];
char billing_address[100];
char phone_number[15];
double amount_paid;
double amount_due;
char date[20];
} Customer;
char* read_string(int length) {
char data[length];
rewind(stdin);
fgets(data, length, stdin);
if (data[0] == '\n') {
data[0] = '\0';
}
strtok(data, "\n");
printf("DATA: %s", data);
return data;
}
void handle_modify_customer(Customer customer) {
Customer edited_details;
printf("\nMODIFYING DETAILS\n==============\n\n");
printf("CREATE A CUSTOMER PROFILE\n=========================\n");
printf("Name (%s): ", customer.name);
strcpy(edited_details.name, read_string(50));
printf("Password (%s): ", customer.password);
strcpy(edited_details.password, read_string(50));
printf("Billing Address (%s): ", …Run Code Online (Sandbox Code Playgroud)