Code Explainers
Code explainers tagged #validation
go
package handlers import ( "net/http"
Query-string filtering in Gin with GORM
query-binding
validation
conditional-queries
Intermediate
8 steps
typescript
const ISO_DURATION = /^P(?:(\d+(?:\.\d+)?)Y)?(?:(\d+(?:\.\d+)?)M)?(?:(\d+(?:\.\d+)?)W)?(?:(\d+(?:\.\d+)?)D)?(?:T(?:(\d+(?:\.\d+)?)H)?(?:(\d+(?:\.\d+)?)M)?(?:(\d+(?:\.\d+)?)S)?)?$/; const SECONDS_PER = { years: 365 * 24 * 60 * 60,
Parsing ISO 8601 durations to seconds
regex
parsing
iso-8601
Intermediate
7 steps
python
import click @click.command()
Building a typed CLI with Click
cli
decorators
validation
Intermediate
7 steps
typescript
import { IsInt, IsOptional, Max, Min } from 'class-validator'; import { Type } from 'class-transformer'; export class PaginationQueryDto {
Type-safe pagination queries in NestJS
pagination
validation
dto
Intermediate
7 steps
go
package handlers import ( "net/http"
Validating query params with Gin binding tags
validation
struct-tags
pagination
Intermediate
8 steps
ruby
class PaymentMethod < ApplicationRecord belongs_to :account encrypts :card_number, deterministic: false
How Rails encrypts sensitive payment fields
encryption
validation
scopes
Intermediate
9 steps
ruby
class SignupValidator EMAIL_REGEX = /\A[^@\s]+@[^@\s]+\.[^@\s]+\z/ MIN_PASSWORD_LENGTH = 8
Building a plain-Ruby signup validator
validation
regex
default-hash
Intermediate
7 steps
ruby
class DurationParser UNIT_SECONDS = { 'w' => 604_800, 'd' => 86_400,
Parsing duration strings into seconds in Ruby
parsing
regular-expressions
validation
Intermediate
7 steps
ruby
class User < ApplicationRecord has_secure_password normalizes :email, with: ->(email) { email.strip.downcase }
Normalizing user input in Rails models
normalization
validation
data integrity
Intermediate
6 steps
rust
use std::fmt; use std::str::FromStr; #[derive(Debug, Clone, PartialEq, Eq, Hash)]
A validated Email newtype in Rust
newtype
validation
error-handling
Intermediate
9 steps
python
from datetime import date from enum import Enum from typing import Annotated
Reusable query params with Pydantic in FastAPI
query-parameters
validation
pagination
Intermediate
8 steps
typescript
import { Component, Input, OnInit } from '@angular/core'; import { FormBuilder, FormGroup, FormArray, FormControl, Validators, ValidatorFn } from '@angular/forms'; interface FieldSchema {
Building dynamic reactive forms in Angular
reactive-forms
dynamic-forms
validation
Intermediate
8 steps
php
<?php namespace App\Http\Requests;
How a Laravel FormRequest validates invoices
validation
authorization
form-request
Intermediate
6 steps
go
package handlers import ( "net/http"
Struct-level validation for partial updates in Gin
validation
struct-tags
partial-update
Intermediate
7 steps
python
from decimal import Decimal from django.db import transaction from django.core.exceptions import ValidationError
Placing an order atomically in Django
transactions
row-locking
concurrency
Advanced
9 steps
java
@RestController @RequestMapping("/api/products") @RequiredArgsConstructor public class ProductSearchController {
Binding paged search filters in Spring
data-binding
validation
pagination
Intermediate
7 steps
rust
use axum::{ async_trait, extract::{rejection::JsonRejection, FromRequest, Request}, http::StatusCode,
A validating JSON extractor in Axum
extractors
validation
error-handling
Intermediate
7 steps
python
import hashlib from pathlib import Path
Streaming SHA-256 checksums in Python
hashing
file-io
streaming
Intermediate
6 steps