並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

バリデーションの検索結果1 - 18 件 / 18件

  • TypeScriptの型と値とバリデーション

    TypeScript は本質的に自分に型が付与されていると思っているだけの JavaScript です。 いくら型を付与しようが、それが実行時に影響を与えることはありません。 コードレビューをしているとここを誤解している人が本当に多いです。何度も解説しているのですが、なかなか浸透しないので、TypeScript におけるバリデーションという視点で記事を書くことにしました。 あと TS でバリデータ使って色々作ろうとしている友人と、プログラミング始めたてで zod と openapi を使っいる友人がいたので、彼らが想定読者です。 型と値の名前空間 TypeScript 上での名前空間(スコープ)は2つに分類できます。 値: 実行時にランタイム上のメモリに存在するもの 型: 静的解析時にのみ参照可能なもの。コンパイル時に完全に消滅する。 TypeScript は基本的に JavaScript

      TypeScriptの型と値とバリデーション
    • ReactとZodで作る堅牢なフォームバリデーション - ICS MEDIA

      前回の記事『2024年版 HTMLで作るフォームバリデーション』ではHTMLの機能を駆使したフォームバリデーションの実装について解説しました。HTMLのみでも高機能なフォームを作成できるのは解説したとおりですが、HTMLに加えてJavaScriptを組み合わせることでより高機能なフォームを作成できます。それに加えて、開発者体験の向上も期待できます。 本記事では3つのライブラリを使用して実践的なフォームを作成する方法を解説します。 UIライブラリ「React」 フォーム向けライブラリ「React Hook Form」 型システムと相性の良いスキーマバリデーションライブラリ「Zod」 また、静的型付け言語であるTypeScriptもこれらのライブラリと同時に使用し、堅牢なフォームの実装を目指します。 本記事を読むことで以下の知識が身につきます。 フォーム画面のユーザー体験(UX)と、フォーム実

        ReactとZodで作る堅牢なフォームバリデーション - ICS MEDIA
      • 10年物の長寿プロダクトのバリデーションアーキテクチャを変更した件 - RAKUS Developers Blog | ラクス エンジニアブログ

        改善施策を決めるまで 旧アーキテクチャ概要 旧アーキテクチャの問題分析 新アーキテクチャ概要 最後に こんにちは、楽楽販売開発課の岡本です。 弊社では10年を超える長寿プロダクトをいくつも擁していますが、私が担当しているプロダクトもそんな長寿プロダクトの一つです。 さて、どのように優れたプロダクトでも10年以上開発を続けていれば、少なくない量のコード負債を抱えてしまうもので、我々の開発チームでもこの問題に日々悩まされております。 このような状況を打開すべく、昨年9月に開発チーム内に改善専門部隊が立ち上がりました。 本記事では、改善部隊が行った施策の1つである「バリデーションアーキテクチャの変更」を取り上げて紹介しようと思います。 改善施策を決めるまで 先の項でも紹介した通り、我々のプロダクトは少なくない量のコード負債を抱えてしまっています。 ですので、改善部隊が発足時点で改善したい内容はい

          10年物の長寿プロダクトのバリデーションアーキテクチャを変更した件 - RAKUS Developers Blog | ラクス エンジニアブログ
        • AWS CDK におけるバリデーションの使い分け方を学ぶ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS

          皆さん、こんにちは。2024 年 3 月に AWS DevTools Hero に選出いただきました、後藤と申します。普段は、AWS Cloud Development Kit (AWS CDK)  へのコントリビュート活動などを行っています。 AWS CDK において、AWS CDK でアプリケーション・インフラ環境を構築する(AWS CDK を使う) 方も、AWS CDK にコントリビュートする(AWS CDK を作る) 方も、どちらにもユーザーから受け取る値のバリデーションは欠かせません。またそのバリデーション方法は、どちらの立場においても基本的には同じ方法で実装することができます。 今回はそんな、AWS CDK を「使う側」と「作る側」、どちらにも共通するバリデーションの使い分け方についてご紹介します。

            AWS CDK におけるバリデーションの使い分け方を学ぶ - builders.flash☆ - 変化を求めるデベロッパーを応援するウェブマガジン | AWS
          • toml 形式で作ったテーブルの配列を Pydantic でバリデーションして受け取る - Qiita

            背景 toml 形式のファイル シミュレーションコードの入力部として、toml 形式の入力ファイルを考えている。特に、可変長個のリストを受け渡し可能にして、柔軟なシミュレーションを行うことを想定している。たとえば、以下のような構成である。 [[floor]] name = "groundfloor" floor_type = "middle" ceilingheight = 2.8 [[floor.room]] area = 18.0 windows = [0, 1, 2, 3] [[floor.room]] area = 20.0 windows = [4, 5] [[floor]] name = "firstfloor" floor_type = "middle" ceilingheight = 2.4 [[floor.room]] area = 35.0 windows = [6,

              toml 形式で作ったテーブルの配列を Pydantic でバリデーションして受け取る - Qiita
            • Vue3ベースのバリデーションフレームワークVeeValidate(v4)を使う | 豆蔵デベロッパーサイト

              Vue2ユーザーの皆さん、Vue3への移行はお済みでしょうか?[1] 今回はこの移行で悩ましいバリデーションフレームワークのお話です。 Vueで代表的なバリデーションフレームワークと言えばVeeValidateがあります。 VeeValidateは多機能で使いやすいフレームワークですが、Vue2系に対応するv3とVue3系に対応するv4では、別物と言ってもいいくらい使い方が変わっています。 今回はそんなVeeValidate v4の使い方を整理したいと思います。

                Vue3ベースのバリデーションフレームワークVeeValidate(v4)を使う | 豆蔵デベロッパーサイト
              • k-foldクロスバリデーションを用いたロジスティックLasso回帰[R] - 井出草平の研究ノート

                従属変数が連続変数のLasso回帰を今まで紹介してきたが、今回は従属変数が2値、つまりロジットモデルのLasso回帰の例を示す。 使用するのは心臓病のデータである。 データの作成 # データの読み込み(heart disease datasetを使用) url <- "https://archive.ics.uci.edu/ml/machine-learning-databases/heart-disease/processed.cleveland.data" column_names <- c("age", "sex", "cp", "trestbps", "chol", "fbs", "restecg", "thalach", "exang", "oldpeak", "slope", "ca", "thal", "num") heart_data <- read.csv(url, he

                  k-foldクロスバリデーションを用いたロジスティックLasso回帰[R] - 井出草平の研究ノート
                • Active Record バリデーション - Railsガイド

                  class Person < ApplicationRecord validates :name, presence: true end Person.create(name: "John Doe").valid? # => true Person.create(name: nil).valid? # => false 上からわかるように、このバリデーションはPersonにname属性がない場合に無効であることを知らせます。2つ目のPersonはデータベースに保存されません。 バリデーションの詳細を説明する前に、アプリケーション全体においてバリデーションがいかに重要であるかについて説明します。 1.1 バリデーションを行なう理由 バリデーションは、正しいデータだけをデータベースに保存するために行われます。たとえば、自分のアプリケーションで、すべてのユーザーには必ず電子メールアドレスとメーリ

                    Active Record バリデーション - Railsガイド
                  • クロスバリデーション(交差検証)のモデル保存と精度確認関数 - Qiita

                    import pandas as pd from sklearn.metrics import classification_report from sklearn.metrics import r2_score, mean_absolute_error, mean_squared_error def closs_val_model(model, x, y, cv=50, cla=True): ylist = list(set(y.values.astype("str"))) models = [] acc = [] for i in range(cv): x_test = x.loc[int(i*len(x)/cv):int((i+1)*len(x)/cv)] y_test = y.loc[int(i*len(x)/cv):int((i+1)*len(x)/cv)] x_train =

                      クロスバリデーション(交差検証)のモデル保存と精度確認関数 - Qiita
                    • OpenAPI Generatorを使って生成するSpring Web MVCのソースコードに、独自にバリデーションを追加したい - CLOVER🍀

                      これは、なにをしたくて書いたもの? OpenAPIを使ってREST APIを定義した時に、requiredや文字列長、範囲についての記述をしておくと、OpenAPI Generatorを使って 自動生成した時にある程度バリデーションの定義も生成してくれます。 OpenAPI Specification v3.0.3 / Specification / Schema / Data Types OpenAPI Specification v3.0.3 / Specification / Schema / Schema Object / Properties とはいえ、そのままでは生成されるバリデーションには限界があるので、自分でバリデーション定義を追加したい場合は どうしたらよいのかな?と思って調べてみました。 方法は? 調べてみると、ざっくり次の2つの方法がありそうです。 OpenAPIの拡

                        OpenAPI Generatorを使って生成するSpring Web MVCのソースコードに、独自にバリデーションを追加したい - CLOVER🍀
                      • kーfoldクロスバリデーションを用いたLassoにおける変数選択の安定性[R] - 井出草平の研究ノート

                        kーfold CVのやり方はこちら。 ides.hatenablog.com また、結果にどのくらいの安定性があるか、計算のたびに異なる乱数を与え、kーfold CVのLassoの計算を100回反復した。1) 独立変数側で選ばれた変数の回数、2)選ばれた時の推定値の平均とその標準偏差を計算した。 kーfolds cvを行った場合 # 乱数シードの設定 set.seed(1234) seeds <- sample(1:10000, 50) # 結果を保存するリストを初期化 coefficients_list <- list() # 50回の推定を実行 for (i in 1:50) { set.seed(seeds[i]) cv_fit <- cv.glmnet(X, price, alpha=1, nfolds=5) best_lambda <- cv_fit$lambda.min fit

                          kーfoldクロスバリデーションを用いたLassoにおける変数選択の安定性[R] - 井出草平の研究ノート
                        • 【メモ】Laravel10 カスタムバリデーションの作成方法、非推奨→推奨 - Qiita

                          <?php namespace App\Rules; use Illuminate\Contracts\Validation\Rule; class AllowedFields implements Rule { protected $allowedFields; public function __construct(array $allowedFields) { $this->allowedFields = $allowedFields; } // 既定のpassesをオーバーラップすることで、独自のチェックを作成する。 public function passes($attribute, $value) { // リクエストのキーが許可されたフィールドの中にあるかチェック return in_array($attribute, $this->allowedFields); } //

                            【メモ】Laravel10 カスタムバリデーションの作成方法、非推奨→推奨 - Qiita
                          • #17 Spring バリデーションの実行順序の変更 - Qiita

                            #17 Spring バリデーションの実行順序の変更 前回は自分で設定したエラーメッセージが表示されるよう設定しました。 しかし、それだけでは不要なエラーメッセージも同時に表示されてしまうので、今回はエラーメッセージの表示順を設定します。 前提条件 この記事はSpringの最低限の知識が必要になります。 また、なるべく分かりやすく書くつもりですが、この記事の目的は自分の勉強のアウトプットであるため所々説明は省略します。 前回まで 前回の記事は以下になります。 構築環境 各バージョン Spring Boot ver 2.7.5 jquery ver 3.6.1 bootstrap ver 5.2.2 webjars-locator ver 0.46 依存関係 成果物 必須項目が入力されていない場合 入力内容に誤りがある場合 今回行うこと 今回は以下の流れに沿って進めていきます。 GroupO

                              #17 Spring バリデーションの実行順序の変更 - Qiita
                            • Active Record バリデーション - Railsガイド

                              irb> Person.create(name: "John Doe").valid? => true irb> Person.create(name: nil).valid? => false 上でわかるように、このバリデーションはPersonにname属性がない場合に無効であることを知らせます。2つ目のPersonはデータベースに保存されません。 バリデーションの詳細を説明する前に、アプリケーション全体においてバリデーションがいかに重要であるかについて説明します。 1.1 バリデーションを行なう理由 バリデーションは、正しいデータだけをデータベースに保存するために行われます。たとえば、自分のアプリケーションで、すべてのユーザーには必ず電子メールアドレスと住所が必要だとします。正しいデータだけをデータベースに保存するのであれば、モデルレベルでバリデーションを実行するのが最適です。モデルレ

                                Active Record バリデーション - Railsガイド
                              • 【後編】Next.jsでログインフォームを実装する 〜バリデーション、トリガー編〜

                                概要 2記事に渡って、Next.jsのログインフォームについて実装、解説してきましたが、この記事が最後の記事になります! 前回の記事で、auth周りの最低限の機能を実装しました。今回の記事は、フォームの入力チェックやauth周りのエラーハンドリング、authトリガーの実装の2点を実装、説明していきたいと思います 前編 chakra-ui×react-hook-form編 中編 firebase authentication編 後編 バリデーションとトリガー編 後編 バリデーションとエラーハンドリング編 それでは実装に移っていきましょう。 フォームのバリデーション react-hook-formにはフォームの入力チェックをする機能があらかじめ用意されています。 その機能を使って、フォームのチェックをして、ルールに乗っていない場合、エラーが表示されて処理を実行できないようしましょう。 今回は、

                                  【後編】Next.jsでログインフォームを実装する 〜バリデーション、トリガー編〜
                                • rails7でバリデーションエラーで画面が遷移しない場合の解決法 - Qiita

                                  バリデーションエラーが起きた後、画面遷移せずにエラーメッセージも表示されなかったのでこれを解決するしました。 環境 Ruby 3.0.2 Rails 7.0.2.3 結論:Turboの動作をオフにする redirect_toを使う form_withに data: { turbo: false } を追加する render :new としていた部分を redirect_to action: :newに変更したら解決しました。 バリデーションエラーはflashを使って取得しています。 def create @event = events.new(event_params) if @event.save flash[:success] = "#{@event.name}を登録しました" redirect_to @event else flash[:errors] = @event.errors

                                    rails7でバリデーションエラーで画面が遷移しない場合の解決法 - Qiita
                                  • useActionStateとServer Actionsを利用したフォーム実装(zodでバリデーションも)

                                    動機 ServerActionsでformの実装をするとuseFormStateで実装する記事がほとんどです。 pending状態を取得する場合は、 useFormState と useFormStatus を併用しなければならないため、どうしても処理が煩雑になってしまう それを解消できるreact19の新hooksのuseActionStateで実装したサンプルがあったら「みんなの役に少しでも立てるのかも!」と思って作りました。 実装の過程を載せていた方が、実際の実装の流れをわかりやすく表現できると思ったため、少し長いですが過程も乗せています。 参考 useFormStateとuseFormStatusの問題点についてわかりやすくまとまっています。 前提 next version: 14.3.0-canary.47 (🚨まだ公式サポートされてないので注意) react version:

                                      useActionStateとServer Actionsを利用したフォーム実装(zodでバリデーションも)
                                    • ReactでのZodを使ったフォームバリデーションの基礎と実践 - Qiita

                                      はじめに 今回はZodを用いたReactのバリデーションの基礎と実践について記事を書きました。 業務で使うことが非常に多いので、基礎を学びながら学習したことをアウトプットしています。 Zodとは何か Zodは、JavaScriptおよびTypeScriptのための型 セーフなスキーマ定義とバリデーションライブラリ です。 Zodを使用すると、データの構造や形式を明示的に定義 し、そのスキーマに基づいてデータをバリデートすることができます。 これにより、データの一貫性を保ち、バグを減らすことができます。 なぜZodを選ぶのか 型セーフティ TypeScriptとの統合がスムーズで、型情報を利用してコードの安全性を向上させます。 簡潔なAPI:直感的なAPIにより、複雑なスキーマも簡単に定義できます。 柔軟性 カスタムバリデーションや複雑な構造のデータにも対応可能です。 パフォーマンス 軽量で

                                        ReactでのZodを使ったフォームバリデーションの基礎と実践 - Qiita
                                      1