daruk-validate
v1.1.0
Published
parameter validate middleware for daruk
Downloads
36
Readme
daruk-validate
parameter validate middleware for daruk, powered by koa-parameter.
Installation
$ npm install daruk-validate --save
Usage
import { DarukServer, controller, get } from "daruk";
import { validate } from "daruk-validate";
(async () => {
const myapp = DarukServer({
middlewareOrder: ["daruk-validate"],
});
@controller()
class Index {
@get("/")
@validate({
name: {
type: 'string',
required: true,
},
})
public async index(ctx: any) {
ctx.body = "hello world";
}
}
await myapp.loadFile("../middleware");
await myapp.binding();
myapp.listen(3000);
})();
Checkout parameter to get all the rules.
Daruk Middleware
Daruk Middleware click
import { Daruk, defineMiddleware, MiddlewareClass } from "daruk";
import { parameter } from "daruk-validate";
@defineMiddleware("daruk-validate")
class DarukValidate implements MiddlewareClass {
public initMiddleware(daruk: Daruk) {
// If there is no global error intercept
// You can use this middleware to catch errors
return parameter(daruk.app);
}
}
Translate
You can override the translate method of parameter to implement I18n, by passing a function like this :
import { Daruk, defineMiddleware, MiddlewareClass } from "daruk";
import { parameter } from "daruk-validate";
@defineMiddleware("daruk-validate")
class DarukValidate implements MiddlewareClass {
public initMiddleware(daruk: Daruk) {
parameter(daruk.app, function() {
// Same example with node-parameter
var args = Array.prototype.slice.call(arguments);
// Assume there have I18n.t method for convert language.
return I18n.t.apply(I18n, args);
}});
}
}
Error
import { Daruk, defineMiddleware, MiddlewareClass } from "daruk";
import { errorVerify } from "daruk-validate";
@defineMiddleware("error")
class DarukValidate implements MiddlewareClass {
public initMiddleware(daruk: Daruk) {
// Create a global capture middleware
return errorVerify;
}
}
Example
License
MIT