介绍
应用程序域的责任之一是确保应用程序操纵的数据处于徒劳状态。但是,在某些情况下,数据不处于徒劳状态,并且域需要将这些问题通知用户。可以通过例外或错误来完成娱乐的通知,但这可能会损害通常的系统的经验和系统的可靠性。另一种选择是使用域通知标准来通知用户数据中的问题。
域通知标准允许应用程序捕获数据中的所有问题,并以友好的方式将它们呈现为愉快的方式。它用于通知用户有关验证问题,业务错误等。在本文中,我们将讨论如何使用Flunt-JS软件包中的NodeJS标准中实现域通知。
哦,flunt-js?
Flunt-JS是由Min创建的库,用于验证JavaScript中的数据。它提供了一种简单直观的方法来验证对象。 Flunt-js的灵感来自flunt。
emplimain§£o
要实现域通知标准,您需要创建一个封装验证和验证通知的类。此类将负责通知用户数据中的任何问题。
让我们创建一个具有以下属性的用户示例实体:名称,电子邮件,密码和CPF。让我们使用Flunt-JS验证用户属性并通知用户任何问题。
首先,我们需要安装库:
npm install flunt-js
使用flourtjs并创建具有验证的实体
const { Notifiable, Contract } = require('flunt-js');
class User extends Notifiable {
constructor(nome, email, senha, cpf) {
super();
this.nome = nome;
this.email = email;
this.senha = senha;
this.cpf = cpf;
this.dataCadastro = new Date();
super.AddNotifications(
new Contract()
.isEmail(email, 'O email informado é inválido.')
.hasMaxLen(nome, 50, 'O nome deve ter no máximo 50 caracteres.')
.hasMinLen(senha, 6, 'A senha deve ter no mínimo 6 caracteres.')
.isFixedLen(cpf, 11, 'O CPF informado é inválido.')
);
}
}
const usuario = new User('John Doe', 'johndoe@example.com', '123456', '12345678901');
// Executa a validação e imprime as mensagens de erro, se houver
if (!usuario.isValid()) {
console.log(usuario.getMessages());
} else {
console.log('Usuário válido.');
}
Flunt-js支持VANIOS验证类型,包括验证母长的验证(Hasmaxlen),母亲长度的验证(Hasminlen),验证£电子邮件格式,固定值的验证(ISFIXEDLEN),等等。可以自定义每个验证返回的错误消息。
const usuario = new User('John Doe', 'johndoe@example.com', '123', '1234564233432478901');
// Executa a validação e imprime as mensagens de erro, se houver
if (!usuario.isValid()) {
console.log(usuario.getMessages());
} else {
// não entra aqui pois os dados são inválidos
console.log('Usuário válido.');
}
通过这种方式,我们创建了一个具有发明数据的新用户,并验证了此数据。如果验证失败,通知的函数将返回错误消息列表。我们可以使用此列表将任何问题通知用户。
现在我们拥有我们的用户实体,我们可以使用它来验证邮局上的用户数据。例如,如果我们在应用程序中创建新用户,我们可以执行以下操作:
const express = require('express');
const User = require('./User');
const app = express();
app.use(express.json());
app.post('/users', (req, res) => {
const { name, email, password } = req.body;
const user = new User(name, email, password);
if (user.isValid()) {
// retorna a lista de notificações ( caso queria somente as mensagens pode usar o getMessages() )
return res.status(400).json(user.notifications);
}
// Salvar usuário no banco de dados
});
包括£o
域通知模式是一种通知用户数据中问题的方法。它允许应用程序捕获数据中的所有问题,并以友好的方式将它们展示给享受。
在本文中,我们讨论了如何使用Flunt-JS软件包在Node.js标准中实现域通知。用于验证JavaScript数据的库,该数据提供了一种简单直观的方法来验证对象。
使用Flunt-JS验证有助于确保数据处于徒劳状态,并将任何问题通知用户。使用验证,我们可以保证该应用程序正在接收破坏性数据并避免将来的问题。
反思
flun-js:https://github.com/jhonesgoncalves/flunt十字架 流:https://github.com/andrebaltieri/Flunt十字架 域通知:https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice#domain-events-and-notifications